PHP 不仅免费而且跨平台。PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)。下面介绍 PHP 在各个平台的安装方法。
Unix 系统下的安装
本文档包括使用 PHP-FPM 为 Nginx 1.4.x HTTP 服务器安装和配置 PHP 的说明和提示。
Unix 系统下的 Nginx 1.4.x
- 首先安装 nginx。
-
获取并解压 PHP 源代码:
tar zxf php-x.x.x
-
配置并构建 PHP。在此步骤您可以使用很多选项自定义 PHP,例如启用某些扩展等。 运行 ./configure --help 命令来获得完整的可用选项清单。在本示例中,我们仅进行包含 PHP-FPM 和 MySQL 支持的简单配置。
cd ../php-x.x.x ./configure --enable-fpm --with-mysql make sudo make install
-
创建配置文件,并将其复制到正确的位置。
cp php.ini-development /usr/local/php/php.ini cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf cp sapi/fpm/php-fpm /usr/local/bin
-
需要着重提醒的是,如果文件不存在,则阻止 Nginx 将请求发送到后端的 PHP-FPM 模块,以避免遭受恶意脚本注入的攻击。
将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0 。
打开 php.ini:
vim /usr/local/php/php.ini
定位到 cgi.fix_pathinfo= 并将其修改为如下所示:
cgi.fix_pathinfo=0
-
在启动服务之前,需要修改 php-fpm.conf 配置文件,确保 php-fpm 模块使用 www-data 用户和 www-data 用户组的身份运行。
vim /usr/local/etc/php-fpm.d/www.conf
找到以下内容并修改:
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. user = www-data group = www-data
然后启动 php-fpm 服务:
/usr/local/bin/php-fpm
-
配置 Nginx 使其支持 PHP 应用:
vim /usr/local/nginx/conf/nginx.conf
修改默认的 location 块,使其支持 .php 文件:
location / { root html; index index.php index.html index.htm; }
下一步配置来保证对于 .php 文件的请求将被传送到后端的 PHP-FPM 模块, 取消默认的 PHP 配置块的注释,并修改为下面的内容:
location ~* \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; }
重启 Nginx。
sudo /usr/local/nginx/sbin/nginx -s stop sudo /usr/local/nginx/sbin/nginx
-
创建测试文件。
rm /usr/local/nginx/html/index.html echo "" >> /usr/local/nginx/html/index.php
打开浏览器,访问 http://localhost,将会显示 phpinfo() 。
Mac OS X 系统下的安装
本章包括在 Mac OS X 平台下安装 PHP 的说明和提示。Mac OS X有内建支持的 PHP,编译安装类似于 Unix 系统下的安装。
使用软件包
Mac OS X 下有几个预编译和打包的 PHP 版本。可以通过它使用标准的配置的 PHP,但是若需要不同的功能集(比如一个安全服务器,或者一个不同的数据库驱动程序),可能需要自己编译 PHP 和/或 web 服务器。如果不熟悉如何自己编译软件,可以试着找一下包含自己所需功能的 PHP 预编译版本。
下面的资源提供了在 Mac OS 上易于安装的软件包和预编译的二进制 PHP。
- MacPorts:http://www.macports.org/
- Liip:http://php-osx.liip.ch/
- Fink:http://www.finkproject.org/
- Homebrew:https://github.com/Homebrew/homebrew-php