编译安装PHP5.6并解决PHP出现下载页面问题

源码编译安装PHP5.6

1、  现在源码包:地址:http://php.net

2、  解决依赖

mhash mhash-devel libmcrypt-devel libmcrypt  libxml2-devel bzip2-devel

3、  编译安装

tar –zxvfphp.5.6***.tar.gz

cd php.5.6

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

         note:在编译安装PHP之前,一定要保证MySQL已经编译完成,因为在PHP的编译参数中需要指明MySQL的路径以及PHP和MySQL交互的接口  --with-mysqli=/usr/local/mysql/bin/mysql_config这个选项说明了MySQL和PHP交互的接口。--enable-fpm说明启动fcgi,如果想要把PHP编译为httpd模块的话,只需要加上—with-apxs2=/usr/local/apache/bin/apxs即可。

4、  在解压后的文件中进行配置文件的复制,在上面的编译过程中,我利用的是FastCGI的模式进行编译的,所以配置的配置文件为php**/sapi/fpm/init.d.php-fpm,将这个文件复制到/etc的目录下面。

cp php/sapi/fpm/init.d.php-fpm /etc

chkconfig –addphp-fpm

chkconfig  2345 php-fpm on

5、  更改fpm的配置文件

6、  [global]

pid = /usr/local/php/var/run/php-fpm.pid

error_log = /usr/local/php/var/log/php-fpm.log

[www]

listen = 192.168.5.1:9000

user = php-fpm

group = php-fpm

pm = dynamic        //生成进程的方式为动态的

pm.max_children = 50      //最后创建多少个进程

pm.start_servers = 20      //一开始创建多少个进程

pm.min_spare_servers = 5   //最少空闲进程的数量如果不够的话则生成进程

pm.max_spare_servers = 35   //最大的空闲的进程的数量,如果空闲进程多的话则杀死

pm.max_requests = 500     //每个进程最多相应多少个请求

rlimit_files = 1024          //设置文件打开描述符的rlimit限制

需要注意的是,我们在lamp的环境中,如果将PHP编译为模块的话,那么直接启动Apache然后修改配置文件如下

AddType application/x-httpd-php .php

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

 

 

<IfModuledir_module>

    DirectoryIndex index.html index.phpindex.htm

</IfModule>

然后重启Apache,相应的PHP页面就可以解析了。然是如果利用了php-fpm的话,没有PHP模块被加载,所以我们要设置PHP的解析模式。

打开Apache的配置文件,在每一个virtualhost中添加

<IfModule mpm_event_module>

    ProxyPassMatch^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/webroot/$1

</IfModule>

然后重启Apache就可以了,否者会出现的是访问的PHP页面出现的是下载页,说明我们的PHP和Apache没有结合好。

至于更多的php-fpm解析PHP的方式参照:

https://cnzhx.net/blog/apache-httpd-mod_proxy_fcgi-php-fpm/

你可能感兴趣的:(编译安装PHP5.6并解决PHP出现下载页面问题)