lygyh9985825 发表于 2018-12-17 09:52:09

基于CentOS6.5环境之下的LNMP之编译安装PHP5.5.30

  LNMP之编译安装PHP5.5.30
  1、编译前操作:
1.1、netstat -tulnp | egrep "80|3306"
tcp      0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      25392/nginx         
tcp      0      0 :::3306                     :::*                        LISTEN      53278/mysqld1.2、yum install zlib libxml libjpeg libjpeg-devel freetype-devel libpng libpng-devel curl curl-devel libiconv zlib-devel libxml2-devel -y  

  #国际化本地化字符集转换软件包
1.3、wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar xf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libconv1.14
make && make install1.4、wget http://ncu.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar xf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt2.5.8
make && make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make && make install1.5、wget http://nchc.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
tar xf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure --prefix=/usr/local/mhash0.9.9.9
make && make install1.6、
ln -s /usr/local/libmcrypt2.5.8/lib/libmcrypt.la/usr/lib/libmcrypt.la
ln -s /usr/local/libmcrypt2.5.8/lib/libmcrypt.so/usr/lib/libmcrypt.so
ln -s /usr/local/libmcrypt2.5.8/lib/libmcrypt.so.4/usr/lib/libmcrypt.so.4
ln -s /usr/local/libmcrypt2.5.8/lib/libmcrypt.so.4.4.8/usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/mhash0.9.9.9/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/mhash0.9.9.9/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/mhash0.9.9.9/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/mhash0.9.9.9/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/mhash0.9.9.9/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ln -s /usr/local/libmcrypt2.5.8/bin/libmcrypt-config /usr/bin/libmcrypt-config
ln -s /usr/local/libmcrypt2.5.8/include/mcrypt.h /usr/local/include/mcrypt.h1.7、wget http://nchc.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
tar xf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
/sbin/ldconfig
export LD_LIBRARY_PATH=/usr/local/libmcrypt2.5.8/lib:/usr/local/lib:/usr/local/mhash0.9.9.9/lib
export LDFLAGS="-L/usr/local/libmcrypt2.5.8/lib -I/usr/local/mhash0.9.9.9/include/"
export CFLAGS="-I/usr/local/mhash0.9.9.9/include/"
./configure --prefix=/usr/local/mcrypt2.6.8 --with-libmcrypt-prefix=/usr/local/libmcrypt2.5.8
make && make install  

  

  错误1、./configure错误及解决方案
*** Could not run libmcrypt test program, checking why...
*** The test program compiled, but did not run. This usually means
*** that the run-time linker is not finding LIBMCRYPT or finding the wrong
*** version of LIBMCRYPT. If it is not finding LIBMCRYPT, you'll need to set your
*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point
*** to the installed locationAlso, make sure you have run ldconfig if that
*** is required on your system
***
*** If you have an old version installed, it is best to remove it, although
*** you may also be able to get things to work by modifying LD_LIBRARY_PATH
***
configure: error: *** libmcrypt was not found
解决方法:
export LD_LIBRARY_PATH=/usr/local/libmcrypt2.5.8/lib:/usr/local/lib:/usr/local/mhash0.9.9.9/lib
export LDFLAGS="-L/usr/local/libmcrypt2.5.8/lib -I/usr/local/mhash0.9.9.9/include/"
export CFLAGS="-I/usr/local/mhash0.9.9.9/include/"  

  2编译安装及配置php
  2.1安装编译php5.5.30
wget http://cn2.php.net/distributions/php-5.5.30.tar.bz2
tar jxf php-5.5.30.tar.bz2
cd php-5.5.30
./configure --prefix=/usr/local/php5.5.30 --with-mysql=/usr/local/mysql5.6.27 --with-iconv-dir=/usr/local/libconv1.14 --enable-fpm --enable-sockets --enable-sysvsem --enable-mbstring --enable-pcntl --enable-gd-native-ttf --enable-zip --enable-shmop --enable-inline-optimization --enable-bcmath --enable-ftp--with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-openssl --with-mhash --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-xmlrpc --with-curl --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx
ln -s /usr/local/mysql5.6.27/lib/libmysqlclient.so.18 /usr/lib
make && make install  

  错误2、./configure错误及解决方案:
configure: error: libmcrypt version 2.5.6 or greater required
解决方法:
rpm -ivh "http://mirrors.ustc.edu.cn/epel/6Server/x86_64/epel-release-6-8.noarch.rpm"
yum install -ylibmcrypt-devel  

  2.2、配置php参数:
cp /root/php-5.5.30/php.ini-production /usr/local/php5.5.30/lib/php.ini
cd /usr/local/php5.5.30/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
#修改fastcgi的参数文件php-fpm.conf的相关选项值:
pid = /usr/local/php5.5.30/var/run/php-fpm.pid
pm.max_children = 40
pm.start_servers = 3
pm.min_spare_servers = 3
pm.max_spare_servers = 8
/usr/local/php5.5.30/sbin/php-fpm -t
/usr/local/php5.5.30/sbin/php-fpm
netstat -tulnp | grep 9000  

  2.3修改ngnix的配置文件nginx.conf(/usr/local/nginx-1.8.0/conf/nginx.conf)
  在server标签的server_name下添加一行为(indexindex.php)的配置代码
      listen       80;
      server_namewww.fnw.com;
      index   index.php;  把server中的以下内容注释掉:
      #location / {
      #    root   html;
      #    indexindex.html index.htm;
      #}  在server中添加以下内容
      location ~ \.php$ {
            root         html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_indexindex.php;
            fastcgi_paramSCRIPT_FILENAME $document_root$fastcgi_script_name;
            #fastcgi_paramSCRIPT_FILENAME/usr/local/nginx1.8/html/$fastcgi_script_name;
            include      fastcgi_params;
      }  

  
  如果nginx没有启动则执行:/usr/local/nginx-1.8.0/sbin/nginx
  若nginx服务器已经启动则执行:/usr/local/nginx-1.8.0/sbin/nginx -s reload
  

  3、测试nginx,php,mysql是否成功:
  3.1、测试php,ngnix是否配置成功
# cat >> index.php
页: [1]
查看完整版本: 基于CentOS6.5环境之下的LNMP之编译安装PHP5.5.30