LNMP之PHP 编译安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LNMP之PHP 编译安装相关的知识,希望对你有一定的参考价值。

LNMP 的安安装,Linux nginx mysql php ,这四个软件安装起来。

lLinux+ Nginx + MySQL + PHPlPHP是一种脚本语言,当前中国乃至世界上使用php语言开发网站非常普遍lNginx是一个web服务软件,和apache是一类软件,目前使用nginx的企业越来越多lMySQL是当前最为流行的小型关系型数据库lLNMP就是一个支持解析php程序的环境


先安装Mysql 过程和LAMP 是一样的,参见前面LAMP 的笔记。再安装 PHP.


Mysql 安装  看到以下两个OK  表示安装成功。 也可以eche $?

when specifying MySQL privileges !

Installing MySQL system tables...

OK

Filling help tables...

OK

-------------------------------------------------------------------------

PHP 下载 5.6 的版本

[[email protected] src]# wget http://cn2.php.net/distributions/php-5.6.27.tar.bz2  #下载


[[email protected] src]# tar jxvf php-5.6.27.tar.bz2   #解压


[[email protected] src]# cd /php-5.6.27/

编译安装

l./configure --prefix=/usr/local/php   --with-config-file-path=/usr/local/php/etc  --enable-fpm  --with-fpm-user=php-fpm  --with-fpm-group=php-fpm   --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock  --with-libxml-dir --with-gd   --with-jpeg-dir  --with-png-dir   --with-freetype-dir --with-iconv-dir   --with-zlib-dir  --with-mcrypt   --enable-soap   --enable-gd-native-ttf  --enable-ftp  --enable-mbstring  --enable-exif --enable-zend-multibyte   --disable-ipv6   --with-pear  --with-curl 

 [[email protected] src]# make # 这一步楼主还是报错,上次安装LAMP 是一样的

configure: error: xml2-config not found. Please check your libxml2 installation.


yum install -y libxml2-devel  #安装libxml2-devel

     -----------------------------------

configure: error: Please reinstall the libcurl distribution -


[[email protected] php-5.6.27]# yum -y install curl-devel  #安装


还是报下面的错

configure: error: jpeglib.h not found.


[[email protected] php-5.6.27]#yum -y install libjpeg-devel  #安装


configure: error: png.h not found.

yum -y install libpng-devel


configure: error: freetype-config not found.

yum -y install freetype-devel


configure: error: mcrypt.h not found. Please reinstall libmcrypt.

################################################################

小插曲 SZ 工具的的安装

rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。

优点就是不用再开一个sftp工具登录上去上传下载文件。


sz:将选定的文件发送(send)到本地机器

rz:运行该命令会弹(www.111cn.net)出一个文件选择窗口,从本地选择文件上传到Linux服务器


安装命令:


yum install lrzsz


从服务端发送文件到客户端:


sz filename


从客户端上传文件到服务端:


from:http://www.111cn.net/sys/linux/67810.htm

####################################################################

[[email protected] php-5.6.27]#yum -y install freetype-devel  #安装(此处没有安装成功)

-----------------------------------------------------

方案二:

[[email protected] src]# tar zxvf libmcrypt-2.5.7.tar.gz  #解压


[[email protected] src]# cd libmcrypt-2.5.7/   #进入安装目录


[[email protected] src]# ./configure         #配置


[[email protected] libmcrypt-2.5.7]# make    #编译

[[email protected] libmcrypt-2.5.7]# make install   #安装


[[email protected] libmcrypt-2.5.7]# echo $?   #检测有没有问题

0

-----------------------------------------------------------


终于第二个方案解决了。接着进行PHP 的下一步


[[email protected] php-5.6.27]# make  # 这个过程大约5分钟


[[email protected] php-5.6.27]# echo $?

0

[[email protected] php-5.6.27]# make install


[[email protected] php-5.6.27]# echo $?

0


[[email protected] php-5.6.27]# ls /usr/local/php/

bin  etc  include  lib  php  sbin  var


拷贝php 的配置文件

[[email protected] php-5.6.27]# cp php.ini-production /usr/local/php/etc/php.ini

拷贝启动脚本

[[email protected] php-5.6.27]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

[[email protected] php-5.6.27]# chmod 755 /etc/init.d/php-fpm #授予执行权限


[[email protected] php-5.6.27]# chkconfig --add php-fpm #加入到系统服务列表


[[email protected] php-5.6.27]# chkconfig php-fpm on # 开机启动


[[email protected] php-5.6.27]# service php-fpm start  #吂动服务(因配置文件不存在,启动不起来)

Starting php-fpm [03-Nov-2016 01:35:33] ERROR: failed to open configuration file ‘/usr/local/php/etc/php-fpm.conf‘: No such file or directory (2)

[03-Nov-2016 01:35:33] ERROR: failed to load configuration file ‘/usr/local/php/etc/php-fpm.conf‘

[03-Nov-2016 01:35:33] ERROR: FPM initialization failed

 failed

[[email protected] php-5.6.27]# cd /usr/local/php/etc/  #进入到配置文件目录
[[email protected] etc]# ls                             #查看配置文件
pear.conf php-fpm.conf.default  php.ini        #红色的就是配置文件

[[email protected] etc]# mv php-fpm.conf.default php-fpm.conf  #拷贝配置文件

[[email protected] etc]# /usr/local/php/sbin/php-fpm -t  # 检查配置文件有没有错误
[03-Nov-2016 01:40:02] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful


[[email protected] etc]# service php-fpm start  # 再次启动还是报错(因为没有创建用户)

Starting php-fpm [03-Nov-2016 01:42:52] ERROR: [pool www] cannot get uid for user ‘php-fpm‘

[03-Nov-2016 01:42:52] ERROR: FPM initialization failed

 failed


[[email protected] etc]# useradd -s /sbin/nologin php-fpm  #创建用户,但不需要用户登录

#php-fpm  这个用户在编译的时候就已经定义了。

[[email protected] etc]# service php-fpm start     #再次启动 OK

Starting php-fpm  done


[[email protected] etc]# ps aux |grep php-fpm  # 查看启动的进程

root     34321  0.0  0.4 109096  4264 ?        Ss   01:44   0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)                                                                    

php-fpm  34322  0.0  0.3 109096  3912 ?        S    01:44   0:00 php-fpm: pool www                                                                                                            

php-fpm  34323  0.0  0.3 109096  3912 ?        S    01:44   0:00 php-fpm: pool www                                                                                                            

root     34325  0.0  0.0 103252   824 pts/0    S+   01:46   0:00 grep php-fpm


[[email protected] etc]# netstat -lnp  #查看监听的端口

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1080/sshd           

tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1306/master         

tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      34321/php-fpm       

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1217/mysqld         

tcp        0      0 :::22                       :::*                        LISTEN      1080/sshd           

tcp        0      0 ::1:25                      :::*                        LISTEN      1306/master         

udp        0      0 0.0.0.0:68                  0.0.0.0:*                               1563/dhclient   

PHP 的安装至此告一段落。

本文出自 “CBO#Boy_Linux之路” 博客,请务必保留此出处http://20151213start.blog.51cto.com/9472657/1868623

以上是关于LNMP之PHP 编译安装的主要内容,如果未能解决你的问题,请参考以下文章

LNMP环境部署之---PHP编译安装。

LNMP环境部署之---PHP编译安装。

LNMP之PHP 编译安装

LNMP之编译安装PHP出现的问题

LNMP之编译安装PHP出现的问题

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