>백엔드 개발 >PHP 튜토리얼 >1.1-php编译安装

1.1-php编译安装

WBOY
WBOY원래의
2016-06-23 13:26:55810검색

1. MySQL安装(同LAMP里面的安装方法)

2.  php安装

wget  http://cn2.php.net/distributions/php-5.4.37.tar.bz2

tar jxf php-5.4.37.tar.bz2

useradd -s /sbin/nologin php-fpm 

cd php-5.4.37

./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    --disable-ipv6     --with-curl 


make && make install 


3.增加php用户和用户组

useradd -s /sbin/nologing -M php-fpm

4.在源码目录下复制配置文件

cp php.ini-production /usr/local/php/etc/php.ini 


5.php专属配置文件改名

mv /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf


6.拷贝启动脚本:

cp /usr/local/src/php-5.4.37/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 


chmod 755 /etc/init.d/php-fpm 

chkconfig --add php-fpm

chkconfig php-fpm on

service php-fpm start 


测试php配置文件是否正常

/usr/local/php/sbin/php-fpm -t

注意:不能用启动脚本加-t 如:/etc/init.d/php-fpm -t


课后答疑

php.ini 是php的全局配置文件,比如我要配置时区,配置禁止函数。

php-fpm.conf 是php-fpm 专属的配置文件,比如配置运行服务的用户,配置启动参数等,咱们视频都有讲。

php-fpm 就是一个启动二进制文件。


学习lnmp 时 也是需要 先 安装mysql php nginx ? 那mysql 和php 的安装目录是不是不能和之前冲突?还有就是 之前不是已经编译安装过mysql 和php 了,难道不能共用么?

答:lnmp顺序,只要保证 php在mysql后面就行。 mysql可以共用,php不可以,因为编译参数都不一样。 你可以指定一个和apache的php不同的目录


lamp=linux+apache+mysql+php; lnmp=Linux+nginx+mysql+php 他们的区别在于apache和nginx和php结合的模式不同,我们讲的这两个架构中,php在编译的时候以一个模块的形式和apache成为了一个整体,这种情况下我们是可以把php的安装目录/usr/local/php删除的。而lnmp中的php启动了一个服务php-fpm,这种模式相当于nginx处理php脚本时,直接把请求转发给了php-fpm,说白了就是一个代理。这个php的安装目录是不可以删除的。 这两种模式其实是可以共存的,编译配置的时候,把prefix=后面的目录改一下即可,不让它覆盖。


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.