LNMP環境部署之---PHP編譯安裝。
前兩篇文章是講關於Nginx和MySQL的編譯安裝,接下來要完成三個軟件中最難的一個環節,當然這只是對還沒入門的同學說的。安裝過一遍後知道技巧後,自然就好簡單了,廢話不說,直入正題。
1)檢查確認Nginx及MySQL的安裝路徑:
[root@web01 ~]# ls -ld /application/
drwxr-xr-x 4 root root 4096 12月 9 07:52 /application/
[root@web01 ~]# ls -ld /application/nginx/
drwxr-xr-x 11 root root 4096 12月 1 21:48 /application/nginx/
2)檢查端口及啓動情況:
[root@oldboy ~]# netstat -lntup|grep -E"80|3306"
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1589/mysqld
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1629/nginx
3)檢查軟件包
[root@oldboy ~]# rpm -qa zlib-devel libxml2-devellibjpeg-devel libjpeg-turbo-devel libconv-devel
zlib-devel-1.2.3-29.el6.x86_64
[root@oldboy ~]# rpm -qa freetype-devellibpng-devel gd-devel libcurl-devel libxslt-devel
4)安裝需要的軟件包
a.以下是通過repo源安裝的軟件
[root@oldboy ~]# yum install -y zlib-devellibxml2-devel libjpeg-devel libjpeg-turbo-devel libconv-devel freetype-devellibpng-devel gd-devel libcurl-devel libxslt-devel
b.yum源無法安裝的libiconv庫。
使用wget下載二進制軟件包,編譯安裝
[root@oldboy ~]# cd /home/oldboy/tools/
[root@oldboy tools]# wgethttp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
#### 可能下載超時,請在IE瀏覽器下載後再rz上傳,比較好。
[root@oldboy tools]# tar zxf libiconv-1.14.tar.gz
[root@oldboy tools] # cd libiconv-1.14
[root@oldboy libiconv-1.14] # ./configureprefix=/usr/local/libiconv
[root@oldboy libiconv-1.14]make
[root@oldboy libiconv-1.14]make install
c.epel源(第三方源)
[root@oldboy ~] # wget -O /etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-6.repo
[root@oldboy ~] # yum install libmcrypt-develmcrypt mhash -y
d、用軟鏈接
[root@LNMP php-5.5.32]# ln -s/application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
e、下載PHP
[root@LNMP tools]# wget http://mirrors.sohu.com/php/php-5.5.32.tar.gz
f、創建phar.phar文件
[root@LNMP tools]# cd php-5.5.32
[root@LNMP php-5.5.32]# touch ext/phar/phar.phar
[root@oldboy ~] # cd /applicalition/php5.5.32/
[root@oldboy php5.5.32] # ./configure \
--prefix=/application/php5.5.32 \
--with-mysql=/application/mysql/ \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--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-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp \
--enable-opcache=no
[root@oldboy php5.5.32] # make&&makeinstall
php-5.3
--enable-safe-mode--enable-zend-multibyte --with-curlwrappers
3.2報錯分析及解決方法。
報錯2:
/home/lihua/tools/php-5.5.32/sapi/cli/php:error while loading shared libraries: libmysqlclient.so.18: cannot open sharedobject file: No such file or directory
解決方法1:
1、用軟鏈接
[root@LNMP php-5.5.32]# ln -s/application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
解決方法2:
2、把ld.so.conf加入/application/mysql/lib路徑。
[root@LNMP php-5.5.32]# vi /etc/ld.so.conf
include ld.so.conf.d/*.conf
/application/mysql/lib
~
"/etc/ld.so.conf" 2L, 51C written
[root@LNMP php-5.5.32]# ldconfig
報錯2:make: *** [ext/phar/phar.php] Error127
解決方法:是由於缺少文件phar.phar,創建即可。
[root@LNMP php-5.5.32]# touch ext/phar/phar.phar
[root@LNMP php-5.5.32]# make
Build complete.
Don't forget to run 'make test'.
cp php.ini-production /appliction/php/lib/php.ini
配置php-fpm 配置文件
cp php-fpm.conf.default php-fpm.conf
啓動php-fpm
/application/php/sbin/php-fpm
lsof -i :9000
ps -ef |grep php-fpm
3.4 phpinfo()測試頁
[root@LNMP conf ]# cd ../../html/blog/
echo "<?php phpinfo();?>">test_info.php在windows下的hosts解析(10.0.0.111爲當前的機器的IP)命令如下:
能見到這個面頁,已經證明PHP安裝成功了。