UJP - 技術情報1

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

PHP5をMacOS Xで使うまで

PHP5をMacOS Xで使うまで


0.改訂履歴

  • 2005.10.02 新規作成

1.はじめに

 このドキュメントでは,MacOS X 10.4.2にて,PHP5を使うまでの手順を説明する. ソースからではなく,パッケージを使ってのインストールすることと,Apacheと連携させるためにLoadmoduleのlibphp5.soの指定方法等の設定についての確認事項を整理する. おまけにMySQLとの接続テストについても記述する.

2.モジュールの入手

  • PHP5は以下のURLから入手できる.
  • このサイトにおいてあるのは最新版であるが,コンパイルが必要だったりするので,Xcodeの導入など前提条件が必要となる.
  • 最新版ではない可能性があるが,以下のサイトでインストールイメージが配布されている.

3.モジュールのインストールの実行

  • ダウンロードしたイメージをマウントする.
  • 中身を見ると次のようなパッケージになっている.

  • あとは,パッケージを実行して,いつも通りのインストールを行う.

  • これで終了.

4,PHPの環境について確認する

  • PHPのバージョンを確認する.
ivory:~ shinnai$ php -v
PHP 4.3.11 (cli) (built: May 31 2005 23:41:02)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
ivory:~ shinnai$           
  • これは古いバージョン.
  • パスが聞いているか確認する.
ivory:~ shinnai$ which php
/usr/bin/php
ivory:~ shinnai$ 
  • PHP5がインストールされているディレクトリが検索パスに設定されていない.
  • ディレクトリに移動し,絶対パスでバージョンを確認してみる.
ivory:~ shinnai$ /usr/local/php5/
bin         include     lib         man         
etc         info        libphp5.so  share       
ivory:~ shinnai$ /usr/local/php5/bin/php -v
PHP 5.0.4 (cli) (built: Apr  4 2005 17:32:28)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v2.0.4-dev, Copyright (c) 1998-2004 Zend Technologies
ivory:~ shinnai$
  • PHP.INIの場所も確認する.
ivory:~ shinnai$ ls -la /usr/local/php5/lib/php.ini
-rw-r--r--   1 root  staff  45062 Oct  2 17:21 /usr/local/php5/lib/php.ini
ivory:~ shinnai$   

5.ApacheでPHP5を使う設定にする

  • PHP5をApacheで利用できるようにするには,ライブラリのロードと,拡張しの登録を設定する必要がある.
  • PHP5用ライブラリである,libphp5.soが保存されている場所を確認する.
ivory:~ root# ls -la /usr/local/php5/libphp5.so 
-rwxr-xr-x   1 root  staff  10682896 Apr  5 00:33 /usr/local/php5/libphp5.so
ivory:~ root#  
  • httpd.confの場所を確認する.
ivory:~ shinnai$ ls -la /etc/httpd/httpd.conf
-rw-r--r-- 1 root wheel 38701 Oct 2 17:21 /etc/httpd/httpd.conf
ivory:~ shinnai$
  • httpd.confのファイルの後ろを確認する.
ivory:~ root# tail -n 20 /etc/httpd/httpd.conf
    # default home pages will be advertised on Bonjour.
    RegisterUserSite customized-users
    #RegisterUserSite all-users

    # Bonjour advertising for the primary site is off by default.
    #RegisterDefaultSite
</IfModule>

Include /private/etc/httpd/users/*.conf


# begin entropy.ch PHP module activation
Include /usr/local/php5/httpd.conf.php
# end entropy.ch PHP module activation

# begin entropy.ch PHP module activation
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.html index.php
# end entropy.ch PHP module activation
ivory:~ root#               
  • インストーラによって,追加されていることが確認できた.
  • インクルードされているファイルの中身を確認する.
ivory:~ root# cat /usr/local/php5/httpd.conf.php
#
# Additional PHP Apache directives,
# part of the entropy.ch PHP package for Mac OS X
# 
# For more information, go to http://www.entropy.ch/software/macosx/php/
#

LoadModule php5_module        /usr/local/php5/libphp5.so

<IfDefine !APACHE2>
AddModule mod_php5.c
</IfDefine>

ivory:~ root#       
  • Apacheを稼働させる.
ivory:~ root# locate apachectl
/Library/Documentation/Services/apache/programs/apachectl.html.en
/Library/Documentation/Services/apache/programs/apachectl.html.html
/Library/Documentation/Services/apache/programs/apachectl.html.ja.jis
/usr/sbin/apachectl
/usr/share/man/man8/apachectl.8
/usr/share/zsh/4.2.3/functions/_apachectl
ivory:~ root# /usr/sbin/apachectl status
Status doesn't work without lynx, try fullstatus
ivory:~ root# /usr/sbin/apachectl start 
/usr/sbin/apachectl start: httpd (pid 703) already running
ivory:~ root#   
  • 次のようなHTMLファイルを作成する.
PHPのサンプルプログラム
<html>
<head>
<title>PHPのテスト</title>
</head>
<body>

<?php
     print "Hello world!"."\n";


	
	$a = 1 + 2;
	print "1+2=".$a."¥n";

phpinfo();


 ?>

<br>
PHPは終了 
 


</html>
  • これを,現在インストールしているユーザのSitesフォルダ以下にindex.php等として保存する.
  • ブラウザで,以下のようなアドレスにアクセスする.
    • http://127.0.0.1/~ユーザ名/index.php
  • 成功すると,次のような画面が表示される.

  • 以上.

6.MySQLと接続テストをしてみる

  • PHP5とMySQLを接続するテストを行う.
  • 次のようなPHPファイルを作成して,保存する.
  • たとえばファイル名はdbcon.php等.
  • また,接続のユーザおよびパスワードは自分の環境に合わせて設定する.
PHPのサンプルプログラム(MySQLとの接続)
<?php
   $link = mysql_connect("localhost", "root", "mypassword")
       or die("Could not connect");
   print ("Connected successfully");
   mysql_close($link);
?>
  • 正しく接続できたら,Connected successfullyとブラウザに表示される.

広告スペース
Google