PHP源码安装及配置方式
admin
2023-07-01 12:04:37
0

1.  编译安装php

# tar xf php-5.6.1.tar.bz2

# cd php-5.6.1

# ./configure --prefix=/usr/local/php --enable-sockets --enable-mbstring --enable-xml --enable-fpm --with-bz2 --with-openssl --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-mcrypt --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/etc/php --with-config-file-scan-dir=/etc/php.d

# make && make install


注:编译时请确保机器的内存大于1G,或者在./configure 的选项中加上“--disable-fileinfo”,否则可能出现编译失败的情况。

2.  为php提供配置文件

# cp php.ini-production /etc/php.ini

3.  配置php-fpm

a) 为php-fpm提供配置文件

     # cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

b) 编辑php-fpm的配置文件,调整相关的运行参数作优化。当然使用默认值也能正常运行。
     # vim /usr/local/php/etc/php-fpm.conf
     配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):
       pm.max_children = 50
       pm.start_servers = 5
       pm.min_spare_servers = 2
       pm.max_spare_servers = 8
       pid = /usr/local/php/var/run/php-fpm.pid

c) 为php-fpm提供SysV init脚本,并将其添加至服务列表

       # cp sapi/fpm/init.d.php-fpm   /etc/rc.d/init.d/php-fpm
       # chmod +x /etc/rc.d/init.d/php-fpm
       # chkconfig --add php-fpm
       # chkconfig php-fpm on

4.  启动php-fpm服务,测试运行状态

# service php-fpm start

# netstat -tnlp | grep php-fpm

默认情况下,fpm监听在127.0.0.1的9000端口

5.  修改httpd的主配置文件httpd.conf

a) 启用httpd的相关模块

    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

b) 在相应的位置添加如下行

    AddType application/x-httpd-php  .php

    AddType application/x-httpd-php-source  .phps

c) 修改DirectoryIndex 的定义为:

    DirectoryIndex  index.php  index.html


6.  配置虚拟主机支持使用fcgi

在相应的虚拟主机中添加类似如下两行:

ProxyRequests Off
      ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/PATH/TO/DOCUMENT_ROOT/$1

参数选项含义解释

ProxyRequests Off:关闭正向代理
ProxyPassMatch:把以.php结尾的文件请求发送到php-fpm进程,php-fpm至少需要知道运行的目录和URI,所以这里直接在fcgi://127.0.0.1:9000后指明了这两个参数,其它的参数的传递已经被mod_proxy_fcgi.so进行了封装,不需要手动指定。

举例:


   DocumentRoot "/www/htdocs/test.com"
   ServerName www.test.com
   ServerAlias test.com

   ProxyRequests Off
   ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/www/htdocs/test.com/$1

   
       Options none
       AllowOverride none
       Require all granted
   

相关内容

热门资讯

被从肯尼迪中心“除名”,特朗普... 新华社北京5月31日电 在法官29日裁定将美国总统特朗普的名字从肯尼迪表演艺术中心移除后,特朗普在社...
卡斯特罗家的六指孙子,被曝已成... 在古巴政坛,卡斯特罗家族始终是一个绕不开的名字。如今,随着美国与古巴之间出现新的接触迹象,一位长期隐...
国际原子能机构:扎波罗热核电站... 当地时间5月30日,国际原子能机构表示,该机构在扎波罗热核电站的团队已要求进入现场,以第一手方式检查...
燃气灶热电偶熄火保护工作原理是... 燃气灶热电偶熄火保护工作原理是什么啊?工作原理如下:当燃具的火焰熄灭的时候,会导致热电偶产生电流下降...
新买燃气灶自动熄火是什么原因 燃气灶熄火原因有很多种,建议先检查一下燃气阀门和灶具的电池是否有问题。管道堵塞:一般情况下,燃气灶管...
新燃气灶有塑料味怎么回事 如果不是点火针的问题,那就看看是不是电池没电或松动了。把燃气灶翻过来,底部一个小盒就是放电池的地方,...
天燃气灶为什么会自动熄火 原因可能是分火盖的小孔被堵住了,这也会引起燃气灶打不着火。发现是分火盖的问题,需要做的是:将分火盖取...
燃气灶为什么开着会自动熄火 问题:燃气灶为什么开着会自动熄火回答:原因是燃气不充足,电池也有问题,不过还是要具体情况具体分析一下...
童真璀璨 喜迎“六一” ↑ 5月29日,湖北省宜昌市秭归县实验小学学生在“花开新时代 童心向未来”为主题的“迎六一”活动中朗...
中方代表:日本没资格在国际场合... 据凤凰卫视报道,5月30日,中国人民解放军专家学者代表团团长、国防大学教授孟祥青在香格里拉对话会的平...