解决php版本与程序不兼容导致php打包参数失败
1.编译安装php-5.5.38
1.1下载php源码包解决相关依赖
基于lnmp1.3一键安装包的php版本PHP5.5.36的编译参数来编译安装php-5.5.38
通过phpinfo.php可以查看php的编译安装的参数
yum install php-mysql php-mbstring php-mcrypt php-pdo -y
wgethttp://cn2.php.net/distributions/php-5.5.38.tar.gz
tar xf php-5.5.38.tar.gz
1.2编译安装
cdphp-5.5.38
./configure '--prefix=/usr/local/php5.5' '--with-config-file-path=/usr/local/php5.5/etc''--enable-fpm' '--with-fpm-user=www' '--with-fpm-group=www''--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd''--with-iconv-dir' '--with-freetype-dir=/usr/local/freetype' '--with-jpeg-dir''--with-png-dir' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml''--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem''--enable-inline-optimization' '--with-curl' '--enable-mbregex''--enable-mbstring' '--with-mcrypt' '--enable-ftp' '--with-gd''--enable-gd-native-ttf' '--with-openssl' '--with-mhash' '--enable-pcntl''--enable-sockets' '--with-xmlrpc' '--enable-zip' '--enable-soap''--with-gettext' '--disable-fileinfo' '--enable-opcache' '--enable-intl''--with-xsl' --without-pear --disable-phar
vim Makefile
107 EXTRA_LIBS 此行的末尾添加参数-liconv
107 EXTRA_LIBS = -lcrypt -lz -lexslt -lcrypt -lrt-lmcrypt -lltdl -lstdc++ -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl -lrt-lxml2 -lz -lm -lssl -lcrypto -lcurl -lxml2 -lz -lm -lssl -lcr
ypto-lfreetype -lz -lbz2 -licui18n -licuuc -licudata -lm -licuio -lxml2 -lz -lm-lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz-lm -lxslt -lxml2 -lz -lm
-lssl-lcrypto -lcrypt -liconv
make
make install
/usr/local/php5.5/bin/php –v
1.3安装go-pear.phar
wget http://pear.php.net/go-pear.phar
/usr/local/php5.5/bin/php go-pear.phar
1.4准备php-fpm启动文件和php-fpm.conf配置文件
cd php-5.5.38
cp php.ini-production /usr/local/php5.5/etc/php.ini
cpsapi/fpm/init.d.php-fpm /etc/init.d/php5.5-fpm
vim /usr/local/php5.5/etc/php.ini
chmod +x/etc/init.d/php5.5-fpm
cd /usr/local/php5.5/etc/
cp /usr/local/php5.5/etc/php-fpm.conf.defaultphp-fpm.conf
vim /usr/local/php5.5/etc/php-fpm.conf
[root@localhost php-5.5.38]# grep date.timezone/usr/local/php5.5/etc/php.ini
; http://php.net/date.timezone
date.timezone = PRC
1.5结合参考一键安装包的php-fpm.conf优化配置文件
[root@localhost php-5.5.38]# cat/usr/local/php5.5/etc/php-fpm.conf
[global]
pid = /usr/local/php5.5/var/run/php-fpm.pid
error_log = /usr/local/php5.5/var/log/php-fpm.log
log_level =warning
[www]
listen = 127.0.0.1:9002
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 100
pm.start_servers = 50
pm.min_spare_servers = 30
pm.max_spare_servers = 80
request_terminate_timeout = 0
request_slowlog_timeout = 0
slowlog = var/log/slow.log
1.6修改nginx配置文件指定php的fastcgi_pass端口9002选定运行的php版本
[root@localhost php-5.5.38]# cat/usr/local/nginx/conf/vhost/testadmin.conf
server
{
listen 80;
server_name testadmin.com;
indexindex.html index.php;
root /data/www/testadmin;
#limit_conn crawler 20;
#error_page 404
location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9002;
fastcgi_index index.php;
includefastcgi.conf;
}
location ~.*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~.*\.(js|css)?$
{
expires 1h;
}
location/5998153NginxStatus
{
stub_status on;
access_log off;
}
#access_log /dev/null;
error_log /data/wwwlogs/error.log;
}
nginx -t
nginx: the configuration file/usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file/usr/local/nginx/conf/nginx.conf test is successful
[root@localhost php-5.5.38]# /etc/init.d/nginxreload
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:php5.5.38编译安装-创新互联
URL链接:http://lswzjz.com/article/dedjde.html