所需软件下载地址:
http://pan.baidu.com/s/1EUljg
1、解压软件包
php-5.4.24.tar.gz
libxml2-2.7.2.tar.gz
libiconv-1.14.tar.gz
2、安装libxml2-2.7.2
tar zxvf libxml2-2.7.2.tar.gz
cd libxml2-2.7.2
./configure --prefix=/usr/local/libxml2
make
make install
安装libiconv-1.14
tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
3、安装PHP
tar zxvf php-5.4.24.tar.gz
cd php-5.4.24
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-libxml-dir=/usr/local/libxml2 --with-iconv=/usr/local/libiconv --enable-fpm
make
make install
4、配置PHP:
CPOPY PHP的配置文件(从PHP源码包中)
cp php-5.4.24/(php.ini-development php.ini-production中的任何一个) /usr/local/php/lib/php.ini
修改php.ini文件 register_globals = On
修改php-fpm.conf
cd /usr/local/php/etc/
mv php-fpm.conf.default php-fpm.conf
找到 ;pm.status_path = /status 去掉前面的分号
5、新建PHP项目目录并配置
新增/home/www目录用于存放php文件
mkdir /home/www
vi /usr/local/nginx/conf/nginx.conf
修改nginx.conf将php那段改为
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /home/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www$fastcgi_script_name;
include fastcgi_params;
}
location ~ ^/status$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
include fastcgi_params;
}
location ~ status.html$ {
root /home/www;
}
复制status.html 到 /home/www 目录
cp /home/soft/php-5.4.24/sapi/fpm/status.html /home/www/
5、运行
/usr/local/php/sbin/php-fpm &
/usr/local/nginx/sbin/nginx -s reload
6、测试php是否成功安装
新建phpinfo.php 内容为
在浏览器中输入:服务器地址/phpinfo.php
如果能正常显示出php的信息,则说明Nginx+PHP安装成功!
======================php安装扩展================================
使用php的常见问题是:编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重装,别说,php还真有这样的功能。
如我想增加bcmath支持,这是一个支持大整数计算的扩展。windows自带而且内置,linux“本类函数仅在 PHP 编译时配置了 --enable-bcmath 时可用”(引号内是手册中的话)
幸好有phpize,方法是,要有与现有php完全相同的php安装源码包。
展开后进入里面的ext/bcmath目录
然后执行/usr/local/php/bin/phpize,这是一个可执行的文本文件,会发现当前目录下多了一些configure文件,
如果没报错,则执行./configure --with-php-config=/usr/local/php/bin/php-config(注意要确保/usr/local/php/bin/php-config存在)
如果没有报错,则make,再make install ,然后它告诉你一个目录
你把该目录下的bcmath.so拷贝到你php.ini中的extension_dir指向的目录中,
修改php.ini,在最后添加一句extension=bcmath.so
重启php-fpm和nginx即可
=================安装pdo_mysql扩展================
cd /home/soft/php-5.4.24/ext/pdo_mysql
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
make && make install
此时在/usr/local/php/lib/php/extensions里就会多了个no-debug-non-zts-20100525文件夹,它里面就生成了一个pdo_mysql.so
把.so文件移至/usr/local/php/lib/php/extensions中
修改php.ini,加入扩展语句
extension_dir="/usr/local/php/lib/php/extensions";
extension=pdo_mysql.so
6.重启php-fpm和nginx就ok了,在phpinfo信息里会看到,pdo_mysql的扩展支持了。
=============安装memcached服务端和php的memcache扩展========
1、先安装服务端
cd libevent-2.0.21-stable
mkdir /usr/local/libevent
./configure --prefix=/usr/local/libevent
make
make install
tar zxvf memcached-1.4.17.tar.gz
cd memcached-1.4.17
mkdir /usr/local/memcached
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
make
make install
开启(memcached是守护进程的)
/usr/local/memcached/bin/memcached -d -m 10 -u root -l 192.168.133.10 -p 11211 -c 256 -P /tmp/memcached.pid
重启nginx就ok了
2、安装PHP扩展
tar zxvf memcache-3.0.8.tgz
cd memcache-3.0.8
/usr/local/php/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config
make
make install
此时在/usr/local/php/lib/php/extensions里就会多了个no-debug-non-zts-20100525/,它里面就生成了一个memcache.so
把.so文件移至/usr/local/php/lib/php/extensions中
修改php.ini,加入扩展语句
extension=memcache.so
重启php-fpm和nginx就ok了