php安装需要编译和g++环境的安装推荐教程
温馨提示:这篇文章已超过535天没有更新,请注意相关的内容是否还可用!
下载最新版的php7.0.5的源码包:
下载下来以后上传至服务器
因为php安装必须编译,所以服务器需要确保gcc和g++环境的安装
推荐教程:《PHP视频教程》
首先释放安装包:
tar -xvzf php-7.0.5.tar.gz cd php-7.0.5
接下来进行参数配置php 源码安装,配置前即使没有和-devel会报错,所以需要升级并加装-devel,使用在线安装:
yum -y install libxml2 yum -y install libxml2-devel
补充,因为不同的操作平台环境,系统调试开发环境包的完整程度也不相似,所以建议安装操作平台的之后做必要选择,也可以统一执行一遍所有的命令,将没有加装的部件安装好,如果尚未调试了也许会进行更新,版本完全一致则不会进行任何操作,命令除前面2个之外,汇总如下:
yum -y install openssl yum -y install openssl-devel yum -y install curl yum -y install curl-devel yum -y install libjpeg yum -y install libjpeg-devel yum -y install libpng yum -y install libpng-devel yum -y install freetype yum -y install freetype-devel yum -y install pcre yum -y install pcre-devel yum -y install libxslt yum -y install libxslt-devel yum -y install bzip2 yum -y install bzip2-devel
以上这种包基本上够用了,如果看到问题再补充,安装完成以后,执行配置:
./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip
实际上此处的配置项比上述还多,可以使用./--help命令查看所有选项,这里注意在php7中--with-mysql原生支持将要不存在了,操作都成为或者pdo了;以上这种选项在正常的php开发中完全够用了,后期如果必须,可以选用自动启动相应的组件
之后执行编译:
make
编译时间也许会有点长,编译完成以后,执行安装:
make install
php的默认安装位置上方已经选定为/usr/local/php,接下来配置相应的文件:
cp php.ini-development /usr/local/php/lib/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf ln -s /usr/local/php/sbin/php-fpm /usr/local/bin
然后修改php.ini,使用:vim/usr/local/php/lib/php.ini打开php配置文件找到cgi.配置项,这一项默认被注释以及值为1,根据官网文档的表明,这里为了当文件不存在时,阻止Nginx将请求发送到后端的PHP-FPM模块,从而导致恶意脚本注入的伤害,所以此项必须除去注释并修改为0
设置完毕保存并退出
此外注意一个地方就是php.ini配置文件的位置可以在编译前配置参数中设定,编译参数可以写成:--with--file-path=/usr/local/php这样的话php就回家指定的目录下加载php.ini配置文件,如果不加这个参数默认位置就是php安装目录下的lib目录,具体也可以在()输出界面查看,如果php.ini放到其它位置,php读取不到,那么所有的配置设置后都是不生效的,这点要切记
此时首先需要创建web用户:
groupadd www-data useradd -g www-data www-data
后来网上一些教程说让修改php-fpm.conf添加以上建立的用户和组,这之后使用vim/usr/local/etc/php-fpm.conf打开文件后找不到官网所提醒的位置:
如果这时随便在一个位置添加,那么接下去启动php-fpm的之后,会报目录找不到的出错,所以不要在php-fpm.conf中添加用户和组,这个之后翻到php-fpm.conf最后一行会看到如下内容(假如编译时添加--选项以下位置会手动补全,默认是以下是空的,要切记):
此处引入了php-fpm.d目录下所有的conf配置文件,但是NONE需要更改为我们的实际目录:/usr/local
默认情况下etc/php-fpm.d/下有一个名为的配置用户的文件,执行以下命令复制一个新文件以及开启:
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf vim /usr/local/etc/php-fpm.d/www.conf
默认user和group的更改为,将其改为www-data
修改完成以后,保存并撤出,然后执行下述命令开启php-fpm服务:
/usr/local/bin/php-fpm
启动完毕以后,php-fpm服务默认使用9000端口,使用-ntlp|grep9000可以查看端口使用状况:
9000端口正常使用,说明php-fpm服务开启成功
之后执行vim/usr/local/nginx/nginx.conf编辑nginx配置文件,具体模式依据实际的nginx.conf配置文件位置编辑,下面主要设置nginx的{}配置块中的内容,修改块php 源码安装,追加index.php让nginx服务器默认支持index.php为首页:
之后配置.php请求被传送到后端的php-fpm模块,默认情况下php配置块是被注释的,此时除去注释并设置为下列内容:
此处面太多都是默认的,root是配置php程序存放的根目录,主要设置的就是中的/为$
修改完前面的,回到nginx.conf第一行,默认是#user;此处要去掉注释改为userwww-data;以及userwww-datawww-data;表示nginx服务器的权限为www-data
修改完某些保存并退出,然后重启nginx:
/usr/local/nginx/nginx -s stop /usr/local/nginx/nginx
接出来编辑一个测试的php程序,在nginx下的html目录下创建test.php文件,打印一下php配置:
以上就是php7如何源码编译安装的具体内容,更多请关注php中文网其他相关文章!
本文来自网络,如有侵权请联系网站客服进行删除
还没有评论,来说两句吧...