PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP 7.4 checking for libzip 和 failed to open error_log 问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

来源: https://hqidi.com/154.html

 

两个深坑,成年阿根廷龙踩出来的坑,网上都没找到解决方法,都是自己摸索出来的。

前面一切顺利:

@H_502_8@yum install -y libxml2 libxml2-devel libxml2-python curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype-devel libmcrypt libmcrypt-devel gd gd-devel gcc-c++ gcc openssl openssl-devel libsqlite3x-devel oniguruma-devel libicu-devel wget https://www.PHP.net/diStributions/PHP-7.4.2.tar.gz tar xf PHP-7.4.2.tar.gz cd PHP-7.4.2 ./configure --prefix=/usr/local/PHP --enable-opcache --with-config-file-path=/usr/local/PHP/etc --enable-MysqLnd --with-MysqLi=MysqLnd --with-pdo-MysqL=MysqLnd --enable-fpm --enable-static --enable-inline-optimization --enable-sockets --with-zip --enable-calendar --enable-bcmath --enable-soap --enable-mbString --with-zlib --with-iconv --enable-gd --with-xmlrpc --enable-mbString --with-curl --with-freetype --with-MysqL-sock=/var/lib/MysqL/MysqL.sock --disable-ipv6 --disable-debug --with-openssl --disable-maintainer-zts --enable-intl

至于configure的时候,配置参数的变更、弃用等这种小问题就不说了。

No package 'libzip' found

我不知道网上的教程是怎么回事,反正在centos7+PHP 7.4.2 环境下,网上的所有教程都不对,一个都不对
这个问题的完整报错如下:

@H_502_8@checking for libzip >= 0.11... no configure: error: Package requirements (libzip >= 0.11) were not met: No package 'libzip' found Consider adjusTing the PKG_CONfig_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBZIP_CFLAGS and LIBZIP_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.

报错提示非常明显,配置程序没有找到libzip库,你用yum安装libzip-devel的话,安装的版本是0.10,版本达不到要求。所以,此时我们需要卸载掉yum安装的libzip然后手动安装新版。

@H_502_8@yum remove libzip libzip-devel wget https://hqidi.com/big/libzip-1.2.0.tar.gz tar -zxvf libzip-1.2.0.tar.gz cd libzip-1.2.0 ./configure make && make install

在网上找到的教程到了这一步就直接让你继续在PHP源码目录里面执行configure程序继续配置了,其实你然已经安装了libzip1.2,但是PHP的configure程序依然找不到,不知道你安装在哪,你得告诉PHP的configure程序,我安装了libzip 1.2,并且安装在何处。以前是用ldconfig来通告系统所需动态库文件的位置,现在用pkg-config
我刚刚提供的方法安装的libzip认被安装到了 /usr/local/lib 在这个目录下你能看到libzip.so libzip.so.5 libzip.so.5.0.0 还有一个pkgconfig目录。
所以,真正的解决方法来了,在你configure的会话窗口直接输入如下内容
export PKG_CONfig_PATH="/usr/local/lib/pkgconfig/"
上面命令的作用就是告诉configure程序,去/usr/local/lib 目录下找库文件,这样他就能找到libzip.so
此时,你继续./configure将会很顺利的看到
Thank you for using PHP.

PHP7报错Read-only file system (30)

当你照着 此文 安装好PHP,并做好systemd服务管理文件,你会发现用systemctl start PHP-fpm 无法正常启动PHP-fpm 报了一个很奇怪的错。
ERROR: Failed to open error_log (/usr/local/PHP/var/log/PHP-fpm.log): Read-only file system (30)
此时,selinux是关闭状态,普通用户对这个文件也可写,问题就迷离了。
解决方法
打开 /usr/lib/systemd/system/PHP-fpm.service 把
ProtectSystem=true
改成
ProtectSystem=false

当这个值为true的时候,PHP-fpm进程将以只读的方式挂载 /usr 目录,这就是问题所在。具体可参
https://www.freedesktop.org/software/systemd/man/systemd.exec.html#ProtectSystem=

原创文章,转载请注明: 转载自@L_197_87@

本文链接地址: PHP 7.4 checking for libzip 和 failed to open error_log 问题

大佬总结

以上是大佬教程为你收集整理的PHP 7.4 checking for libzip 和 failed to open error_log 问题全部内容,希望文章能够帮你解决PHP 7.4 checking for libzip 和 failed to open error_log 问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: