温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP源码安装及配置方式

发布时间:2021-07-29 21:27:16 来源:亿速云 阅读:228 作者:chen 栏目:web开发

本篇内容主要讲解“PHP源码安装及配置方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP源码安装及配置方式”吧!

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进行了封装,不需要手动指定。

举例:

<VirtualHost *:80>
   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

   <Directory "/www/htdocs/test.com">
       Options none
       AllowOverride none
       Require all granted
   </Directory>
</VirtualHost>

到此,相信大家对“PHP源码安装及配置方式”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI