资讯专栏INFORMATION COLUMN

linux下编译安装php 7.0.32

wenzi / 680人阅读

摘要:本次编译安装,遇到许多坑,在此记录,希望能帮到大家本次编译安装版本,下载解压略过编译之前的步骤安装目录算法的扩展的支持,加密传输时用到的指定位置禁用短标签打上补丁后才有这个参数,方式安装的启动程

本次编译安装php,遇到许多坑,在此记录,希望能帮到大家
本次编译安装7.0.32版本,下载、解压略过
1、编译之前的步骤 .configure
./configure 
--prefix=/usr/local/php-7.0.32 #php安装目录
--with-mhash #mhash算法的扩展
--with-openssl #openssl的支持,加密传输时用到的
--with-config-file-path=/usr/local/php-7.0.32/etc #指定php.ini位置
--disable-short-tags #禁用php短标签
--enable-fpm #打上PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序
--with-fpm-user=php-fpm #未知,猜的
--with-fpm-group=php-fpm #未知,猜的
--enable-zip #支持zip
--with-gd #gk库
--enable-ftp #允许ftp
--with-curl #允许curl
--with-xsl #打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件
--with-jpeg-dir #打开对jpeg图片的支持
--with-png-dir  #打开对png图片的支持
--with-zlib  #打开对zlib的支持
--enable-inline-optimization #优化线程
--with-xmlrpc #打开xml-rpc的c语言
--with-gettext #打开gnu 的gettext 支持,编码库用到
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--with-mysqli=/usr/bin/mysql_config #mysqli扩展
--with-pdo-mysql=/usr/bin/mysql_config #pdo扩展
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

重点看上面标出的步骤,不知道从哪一版本开始,PHP不在希望使用mysql的库来支持mysql的连接,启用了mysqlnd来支持,编译都没有了--with-mysql参数,只支持--with-mysqli和--with-pdo-mysql
也就是说
不需要配置mysql_config地址,直接上代码【在这里卡了很久,一直报各种错】

--enable-mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd

所以我安装的第一步【注意看上面参数解释,路径要换成自己的】

./configure --prefix=/usr/local/php-7.0.32 --with-mhash --with-openssl --with-config-file-path=/usr/local/php-7.0.32/etc --disable-short-tags --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --enable-zip --with-gd --enable-ftp --with-curl --with-xsl --with-jpeg-dir --with-png-dir --with-zlib --enable-inline-optimization --with-xmlrpc --with-gettext --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
2、make make install 编译安装成功
3、开启php-fpm [/usr/local/php-7.0.32/sbin/php-fpm -R ]
好了,到这里又出错了

我的php安装在/usr/local/php-7.0.32下,以下均以此地址演示,新手别直接拷地址

1、找不到php-fpm.conf

[03-Dec-2018 22:25:53] ERROR: failed to open configuration file "/usr/local/etc/php-fpm.conf": No such file or directory (2)
[03-Dec-2018 22:25:53] ERROR: failed to load configuration file "/usr/local/etc/php-fpm.conf"
[03-Dec-2018 22:25:53] ERROR: FPM initialization failed

解决办法:
进入安装目录下的 etc文件夹 将php-fpm.conf.default 拷贝一份成php-fpm.conf.default,再软连接到/usr/local/etc下

cp php-fpm.conf.default php-fpm.conf
ln php-fpm.conf /usr/local/etc/php-fpm.conf

2、再尝试开启fpm,在php-fpm.d下找不到.conf的文件,所以跟上一步骤一样,要将默认文件的后缀default去掉

[03-Dec-2018 22:29:12] WARNING: Nothing matches the include pattern "/usr/local/php-7.0.32/etc/php-fpm.d/*.conf" from /usr/local/etc/php-fpm.conf at line 125.
[03-Dec-2018 22:29:12] ERROR: No pool defined. at least one pool section must be specified in config file

解决代码:

cd /usr/local/php-7.0.32/etc/php-fpm.d
cp www.conf.default www.conf

3、最后一个

[03-Dec-2018 22:32:05] ERROR: [pool www] cannot get uid for user "php-fpm"
[03-Dec-2018 22:32:05] ERROR: FPM initialization failed

这个我认为是php-fpm的控制权限问题
解决办法:
在上一步的 www.conf中 有个user = vagrant 跟 group = vagrant 改成当前系统的用户名

结束,希望能帮到大家

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29742.html

相关文章

  • Linux下编安装PHP的PECL扩展

    摘要:在网站对性能有很高要求的情况下,使用中的库或者自己实现扩展,是很好的选择。的扩展,可以使用命令来安装,我主要分享下编译安装首先到的网站,找到自己需要的扩展包,下载到本地,解压之,比如解压后的路径是进入扩展源码的目录,。 PECL是PHP的高性能C扩展,比如当前很火热的扩展YAF,就是 鸟哥 编写的一个PECL的PHP框架,性能相当出色。 在网站对性能有很高要求的情况下,使用PECL中的...

    ctriptech 评论0 收藏0
  • linux下编安装redis服务与配置

    摘要:进入解压文件之后利用工具生成利用编译安装包可以使用命令查看位置可以看到位置编译安装完成之后可以看到说明扩展已经安装成功了,接下来改的配置文件。 redis的安装 1.服务器的环境 linux / CentOS release 6.5 (Final) 可以用 cat /etc/redhat-release 命令查看系统版本 2.下载redis(我用的是2.8.13的版本)可自己在官网下...

    ad6623 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<