To work on Mac OS X Lion 10.7, I had to change /private/etc/php.ini.default to /private/etc/php.ini
OS X バージョン 10.0.0 以降、PHP は Mac マシンの標準構成として提供されます。デフォルトの Web サーバーで PHP を有効にするには、Apache 設定ファイルhttpd.conf内の設定命令の数行の先頭にあるコメント記号を削除するだけです。CGI または CLI は、デフォルトで使用されます (端末プログラムで簡単に使用できます)。
ローカル PHP 開発環境を迅速に確立するには、次の手順に従ってください。PHP を最新バージョンにアップグレードすることを強くお勧めします。ほとんどのアクティブなソフトウェアでは、新しいバージョンではバグが修正され、新しい機能が追加されます。これは PHP にも当てはまります。詳細については、該当する Mac OS X インストール マニュアルを参照してください。次の手順では、初心者の観点からデフォルトの動作環境を取得する方法を詳しく説明します。すべてのユーザーが新しいパッケージ バージョンをコンパイルまたはインストールすることをお勧めします。
標準のインストール タイプは mod_php です。Mac OS X の Apache Web サーバー (システム設定からアクセスできるデフォルトの Web サーバー) で PHP を有効にするには、次の手順を実行します。
注:このファイルを開くには、コマンド ラインから Unix ベースのテキスト エディタ (nanoなど) を使用できます。これは、このファイルの所有者がであるためです。 rootなので、開くにはsudoを使用する必要があります (rootユーザー権限で)。たとえば、ターミナルプログラムに次のコマンドを入力します (操作後、パスワードの入力を求められます):sudo nano /private/etc/apache2/httpd.confnano のコマンドに注目してください:^w(検索)、^o(保存)、および^x(終了)。^は Ctrl キーを表します。
注:古いバージョンの PHP および Apache は、10.5 より前の Mac OS X バージョンにバンドルされています。したがって、古いコンピューターでは、Apache 構成ファイルの場所は/etc/httpd/httpd.confになる可能性があります。
# LoadModule php5_module libexec/httpd/libphp5.so # AddModule mod_php5.c
httpd.conf(Mac Panther バージョン以降) に書き込まれているため、PHP が有効になると、.phpファイルは自動的に解析されて PHP スクリプトになります。
# If php is turned on, we respect .php and .phps files. AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps # Since most users will want index.php to work we # also automatically enable index.php DirectoryIndex index.html index.php
Note:
在 OS X 10.5(Leopard)以前版本中,捆绑的是 PHP 4 而不是 PHP 5,因此上面的配置指令稍有不同,需要将 5 更改为 4。
phpinfo()将会显示PHP的相关系统信息。可以在 DocumentRoot 下创建一个 PHP 文件,其代码如下:
(); ?>
要重启Apache,可以在 shell 中执行sudo apachectl graceful,也可以停止/启动 OS X 系统首选项中的“Personal Web Server”选项。默认情况下,从浏览器访问本地文件的 URL 一般类似于:http://localhost/info.php,或者使用:http://localhost/~yourusername/info.php来访问用户自己 DocumentRoot 中的文件。
CLI(或者旧版本中的 CGI)一般文件名为php,其路径可能是/usr/bin/php。打开一个终端,参考 PHP 手册中的 PHP 的命令行模式一章,然后执行php -v可以检查当前运行的 PHP 的版本。调用phpinfo()也会显示相关的信息。
To work on Mac OS X Lion 10.7, I had to change /private/etc/php.ini.default to /private/etc/php.ini
You only have to uncomment:
#LoadModule php5_module libexec/apache2/libphp5.so
This is gone:
# AddModule mod_php5.c
The statement in 3 was changed to:
# # TypesConfig points to the file containing the list of mappings from # filename extension to MIME-type. # TypesConfig /private/etc/apache2/mime.types # # AddType allows you to add to or override the MIME configuration # file specified in TypesConfig for specific file types. # #AddType application/x-gzip .tgz # # AddEncoding allows you to have certain browsers uncompress # information on the fly. Note: Not all browsers support this. # #AddEncoding x-compress .Z #AddEncoding x-gzip .gz .tgz # # If the AddEncoding directives above are commented-out, then you # probably should define those extensions to indicate media types: # AddType application/x-compress .Z AddType application/x-gzip .gz .tgz # # AddHandler allows you to map certain file extensions to "handlers": # actions unrelated to filetype. These can be either built into the server # or added with the Action directive (see below) # # To use CGI scripts outside of ScriptAliased directories: # (You will also need to add "ExecCGI" to the "Options" directive.) # #AddHandler cgi-script .cgi # For type maps (negotiated resources): #AddHandler type-map var # # Filters allow you to process content before it is sent to the client. # # To parse .shtml files for server-side includes (SSI): # (You will also need to add "Includes" to the "Options" directive.) # #AddType text/html .shtml #AddOutputFilter INCLUDES .shtml
Extra MIME types can either be added to the file /private/etc/apache2/mime.types or by using an AddType directive as commented on above.
Additionally, it seems that the default installation of php on Mac OS X (10.5 tested) does not point to the default location of the mysql.sock file that is installed in a standard MySQL 5.0 installation.
This prevents php working with locally hosted MySQL databases.
Adding the following line to the /private/etc/apache2/other/php5.conf file did the trick:
php_value mysql.default_socket /tmp/mysql.sock
(make sure you put it in between the statements)
I am using MacOSX 10.5.4 and only enabling the mod_php5 wasn't enough to get the PHP support. I had to add following block before I could use php on machine -
# If php is turned on, we respect .php and .phps files. AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps # Since most users will want index.php to work we # also automatically enable index.php DirectoryIndex index.html index.php