ubuntu安装LNMP0.9产生502错误解决方法

ubuntu安装LNMP0.9和“502错误及/usr/local/php/sbin/php-fpm: 没有那个文件或目录”解决方案
本文已测试环境:ubuntu13.04
最近想搭个网页服务器,网上一搜,发现有个LNMP一键安装包,做的不错,傻瓜式安装,就尝试了下,一键安装完毕,nginx工作正常,但是php网页不解析,也就是著名的502错误。总以为是编译错误,反复安装数次,还是不行。于是怀疑php根本没编译上,查了好久,发现了一下解决方案,注意里面的版本号自己改。

lnamp

lnamp

检查/usr/local/php下面没有sbin等文件夹
会报/usr/local/php/sbin/php-fpm文件夹不存在
究其原因,就是“Autoconf version 2.58 or higher is required for this script ”要求autoconf版本高于2.58而一键安装包里把autoconf版本换成了2.13.所以解决办法如下:
第一种方法 :(推荐用第二种,但此种方法不需要重装,省了很长时间的编译时间。)
首先卸载automake
apt-get remove automake
这样并不能卸载2.13,需要sudo rm /usr/local/bin/autoconf 才行。可能是因为2.13编译问题。
然后去 http://files.directadmin.com/ser … utoconf-2.61.tar.gz 下载autoconf2.61
(不要使用更高版本,经尝试,出错。看来autoconf版本还是问题很多啊。有人说2.13是最经典版,但php偏偏要求更高版本,无奈啊)
tar xzf autoconf-2.61.tar.gz
cd autoconf-2.61
./configure –prefix=/usr
make
make install
然后重新编译php-fpm(重新解压一次lnmp0.9压缩包,因为下面两个gz文件被删除了。)
tar zxvf php-5.2.14.tar.gz
gzip -d ./suhosin-patch-5.2.14-0.9.7.patch.gz
gzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p1
cd php-5.2.14/
patch -p 1 -i ../suhosin-patch-5.2.14-0.9.7.patch
./buildconf –force
./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-iconv-dir –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –enable-discard-path –enable-magic-quotes –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fastcgi –enable-fpm –enable-force-cgi-redirect –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 –without-pear –with-gettext –with-mime-magic
make ZEND_EXTRA_LIBS=’-liconv’
make install
mkdir -p /usr/local/php/etc/
cp php.ini-dist /usr/local/php/etc/php.ini
strip /usr/local/php/bin/php-cgi
cd ../
ln -s /usr/local/php/bin/php /usr/bin/php
cd $cur_dir
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5/
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config
make && make install
cd ../
tar zxvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2/
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql
make && make install
cd ../
# php extensions
sed -i ‘s#extension_dir = “./”#extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/”/nextension = “memcache.so”/nextension = “pdo_mysql.so”/n#’ /usr/local/php/etc/php.ini
sed -i ‘s#output_buffering = Off#output_buffering = On#’ /usr/local/php/etc/php.ini
sed -i ‘s/post_max_size = 8M/post_max_size = 50M/g’ /usr/local/php/etc/php.ini
sed -i ‘s/upload_max_filesize = 2M/upload_max_filesize = 50M/g’ /usr/local/php/etc/php.ini
sed -i ‘s/;date.timezone =/date.timezone = PRC/g’ /usr/local/php/etc/php.ini
sed -i ‘s/; cgi.fix_pathinfo=0/cgi.fix_pathinfo=0/g’ /usr/local/php/etc/php.ini
if [ `getconf WORD_BIT` = ’32’ ] && [ `getconf LONG_BIT` = ’64’ ] ; then
wget -c http://soft.vpser.net/web/zend/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
tar zxvf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
mkdir -p /usr/local/zend/
cp ZendOptimizer-3.3.9-linux-glibc23-x86_64/data/5_2_x_comp/ZendOptimizer.so /usr/local/zend/
else
wget -c http://soft.vpser.net/web/zend/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
mkdir -p /usr/local/zend/
cp ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/ZendOptimizer.so /usr/local/zend/
fi
cat >>/usr/local/php/etc/php.ini<<EOF
;eaccelerator
;ionCube
[Zend Optimizer]
zend_optimizer.optimization_level=1
zend_extension=”/usr/local/zend/ZendOptimizer.so”
EOF
———————————–
另一个方法 , 此方法更改ubuntu.sh 重新安装。
首先 ./unistall.sh 卸载。然后删掉解压包,重新解压一个新包。
修改/ubuntu .sh中的:(277行左右)
cd php-5.2.14/
patch -p 1 -i ../suhosin-patch-5.2.14-0.9.7.patch
更换顺序。
更换 ./buildconf –force
为:
PHP_AUTOCONF=autoconf213 PHP_AUTOHEADER=autoheader213 ./buildconf –force
重新安装lnmp ,此方法完美运行,至今没发现问题。
其实还有种方法 ,可以看作前两种的结合。已经在ubuntu10.04尝试,可行。重新下载autoconf2.61.复制到lnmp解压包里,删除原来的autoconf2.13.        修改ubuntu.sh ,替换2.13为2.61.修改278 279行互换,重新编译安装。
其实吧,我试验上面两种解决方案都失败了。不过我谷歌了一下说php5.3就自带php-fpm,于是我直接升级php版本了。解决也成功了。哇咔咔。不过那些用了zend加密的同志们,你们就不能升级5.3了,还是老老实实的检查上面两种方法吧。



更多

留下足迹

网站地图 鲁ICP备11008518号-1

无觅相关文章插件,快速提升流量