为了账号安全,请及时绑定邮箱和手机立即绑定

为什么“php --version”在安装 phpLDAPadmin 后返回?

为什么“php --version”在安装 phpLDAPadmin 后返回?

PHP
收到一只叮咚 2021-12-03 15:23:05
我在 FreeBSD(FAMP 堆栈)上运行 Apache 2.4,并让 Wordpress 成功托管了一个网站。但是,我最近尝试安装 phpLDAPadmin 以管理 LDAP 服务器,现在每当 Apache 运行时,我网站上的任何页面都会显示以下内容:致命错误:未捕获错误:调用 /usr/local/www/apache24/data/wp-includes/wp-db.php:1643 中未定义的函数 mysql_connect() 堆栈跟踪:#0 /usr/local/www/apache24/数据/wp-includes/wp-db.php(639): wpdb->db_connect() #1 /usr/local/www/apache24/data/wp-includes/load.php(427): wpdb->__construct( 'user', 'pass', 'wordpressdb', 'localhost') #2 /usr/local/www/apache24/data/wp-settings.php(120): require_wp_db() #3 /usr/local/www/ apache24/data/wp-config.php(92): require_once('/usr/local/www/...') #4 /usr/local/www/apache24/data/wp-load.php(37): require_once('/usr/local/www/...') #5 /usr/local/www/apache24/data/wp-blog-header.php(13): require_once('/usr/local/www/. ..') #6 /usr/local/www/apache24/data/index.php(17): require('/usr/local/www/...') #7 {main} 在第 1643 行的 /usr/local/www/apache24/data/wp-includes/wp-db.php 中抛出该网站遇到技术困难。此外,当我去检查php的版本时,会发生这种情况:# php --version Segmentation fault (core dumped)我读到将 php 从 5.x 升级到 7.x 时可能会发生这种情况,但除非安装 phpLDAPadmin 执行升级,否则我相信我一直都有 php 7.2。我能够看到 php 的手册页显示版本 7.2.21。虽然问题似乎确实与 php 有关,但我一直无法弄清楚到底发生了什么。我什至无法在命令行中检查 php 版本,这似乎非常奇怪。我尝试过重新启动,以及通过 freebsd-update 和 portsnap 进行更新,然后重新安装,更不用说对 php.ini、wp-config.php 和 httpd.conf 的各种配置更改。
查看完整描述

1 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

好的,我终于解决了这个问题!


问题一定与升级 PHP 有关,可能是从 PHP 7.1 升级到 PHP 7.2。我假设这是在我安装 phpLDAPadmin 时发生的,这就是触发问题的原因。


首先,我能够通过运行以下命令来解决分段错误/核心转储问题:


pkg upgrade -f

这让我可以再次使用 PHP 终端命令。但是 WordPress 仍然无法正常工作,并显示了与上面相同的致命错误。


在检查了 FreeBSD 12 和 PHP 7.2 的 FAMP 堆栈安装指南后,我意识到我不再安装所有必需的 PHP 模块了。


php -m

PHP Warning:  PHP Startup: Unable to load dynamic library 'php_nd_mysqls.dll' (tried: /usr/local/lib/php/20170718/php_nd_mysqls.dll (Cannot open "/usr/local/lib/php/20170718/php_nd_mysqls.dll"), /usr/local/lib/php/20170718/php_nd_mysqls.dll.so (Cannot open "/usr/local/lib/php/20170718/php_nd_mysqls.dll.so")) in Unknown on line 0

[PHP Modules]

Core

date

gettext

hash

iconv

ldap

libxml

mysqlnd

openssl

pcre

Reflection

session

SPL

standard

xml

而此处的安装指南显示 php install 命令如下:


pkg install php72 php72-mysqli mod_php72 php72-mbstring php72-zlib php72-curl php72-gd php72-json

我相信,基于之前阅读本页的内容,正是缺少 MySQLI 导致 WordPress 抛出致命错误。当我安装缺少的 PHP 模块时,一切又恢复了!


查看完整回答
反对 回复 2021-12-03
  • 1 回答
  • 0 关注
  • 206 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信