centos安裝php-fpm的方法:先透過指令「tar zvxf php-5.4.7.tar.gz」下載安裝php-fpm;然後編譯安裝nginx;最後修改nginx設定檔以支援php- fpm即可。
推薦:《PHP視訊教學》
nginx本身不能處理PHP,它只是個web伺服器,當接收到請求後,如果是php請求,則發給php解釋器處理,並把結果傳回給客戶端。
nginx一般是把請求發fastcgi管理進程處理,fascgi管理進程選擇cgi子進程處理結果並回傳被nginx
本文以php-fpm為例介紹如何使nginx支援PHP
一、編譯安裝php-fpm
什麼是PHP-FPM
PHP-FPM是一個PHP FastCGI管理器,只用於PHP的,可以在http://php-fpm.org/download下載得到.
PHP-FPM其實是PHP原始碼的一個補丁,旨在將FastCGI進程管理整合進PHP包中。必須將它patch到你的PHP原始碼中,在編譯安裝PHP後才可以使用。
新版PHP已經整合php-fpm了,不再是第三方的套件了,推薦使用。 PHP-FPM提供了更好的PHP進程管理方式,可以有效控制內存和進程、可以平滑重載PHP配置,比spawn-fcgi具有更多有點,所以被PHP官方收錄了。在./configure的時候帶 –enable-fpm參數即可開啟PHP-FPM。
新版php-fpm安裝(建議安裝方式)
wget http://cn2.php.net/distributions/php-5.4.7.tar.gz
tar zvxf php-5.4.7.tar.gz
cd php-5.4.7
./configure --prefix=/usr/local/php -- enable-fastcgi --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --disable-pdo --with-curl --disable-debug --enable-pic --disable-rpath -- enable-inline-optimization --with-bz2 --with-xml --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-xslt --enable-memcache --enable-zip --with-pcre-regex --with-mysql
make all install
##舊版手動打補丁php -fpm安裝
wget http://cn2.php.net/get/php-5.2.17.tar.gzwget http://php-fpm.org/downloads/ php-5.2.17-fpm-0.5.14.diff.gz
gzip -cd php-5.2.17-fpm-0.5.14. diff.gz | patch -d php-5.2.17 -p1
cd php-5.2.17
./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm - -with-mcrypt --with-zlib --enable-mbstring --disable-pdo --with-curl --disable-debug --enable-pic --disable-rpath --enable-inline-optimization --with- bz2 --with-xml --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-xslt --enable- memcache --enable-zip --with-pcre-regex --with-mysql
group = www- data
#location ~ centos 如何安裝 php-fpm.php$ {
#root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
##php檔案。
#在/usr/local/nginx/html下建立index.php文件,輸入如下內容 echo phpinfo(); ?>五、啟動服務啟動php-fpm和nginx/usr/local/php/sbin/php-fpm (手動打補丁的啟動方式/usr/local/php/sbin/php-fpm start )sudo /usr/local/nginx/nginx#六、瀏覽器存取造訪http://你的伺服器ip/index.php,皆可以見到php資訊了。七、cp /root/php-5.3.21/php.ini-development /opt/php/lib
放入PHP設定檔安裝php-fpm時可能遇到的錯誤:
1.phpconfigure時發生錯誤
configure: error: XML configuration could not be foundapt-get install libxml2 libxml2-dev (ubuntu下)
yum -y install libxml2 libxml2-devel(centos下)
2. Please reinstall the BZip2 distribution
wget http://www.bzip.org/1.0.5/bzip2-1.0.5.tar.gz
tar -zxvf bzip2-1.0.5.tar.gz
cd bzip2-1.0. 5
make
make install
3.php的設定檔中有一行--with-mysql=/usr。安裝的時候提示:
configure: error: Cannot find MySQL header files under yes.
Note that the MySQL client library is not bundled anymore.
這是由於安裝mysql時沒有安裝mysql文件,或是路徑指定不正確,php找不到mysql的頭檔所引起的錯誤提示。
解決方法。
(1.) 查看你的系統有沒有安裝mysql header
find / -name mysql.h
如果有。請指定--with-mysql=/跟你的正常路徑。
如果沒有。請看下一步。
(2.)redhat安裝
rpm -ivh MySQL-devel-4.1.12-1.i386.rpm
(3.)ubuntu安裝
apt-get install libmysqlclient15-dev
(4.)最後一步php的設定選項新增--with-mysql=/usr即可!
4.No input file specified.
location ~ centos 如何安裝 php-fpm.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
5.如果php configure時缺庫,可以先安裝庫(ubuntu下)
sudo php install make bison flex gcc patch autoconf subversion locate
sudo apt-get install libxml2-dev libbz2-dev libpcre3-dev libssl-dev zlib1g-dev libmcrypt-dev libmhash-dev libssl-dev zlib1g-dev libmcrypt-dev libmhash-dev libmhash2 lib1g-dev libslrypt-dev libmhash-dev libmhash2 curl4 de
以上是centos 如何安裝 php-fpm的詳細內容。更多資訊請關注PHP中文網其他相關文章!