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

我在 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 的各种配置更改。


收到一只叮咚
浏览 209回答 1
1回答

LEATH

好的,我终于解决了这个问题!问题一定与升级 PHP 有关,可能是从 PHP 7.1 升级到 PHP 7.2。我假设这是在我安装 phpLDAPadmin 时发生的,这就是触发问题的原因。首先,我能够通过运行以下命令来解决分段错误/核心转储问题:pkg upgrade -f这让我可以再次使用 PHP 终端命令。但是 WordPress 仍然无法正常工作,并显示了与上面相同的致命错误。在检查了 FreeBSD 12 和 PHP 7.2 的 FAMP 堆栈安装指南后,我意识到我不再安装所有必需的 PHP 模块了。php -mPHP 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]CoredategettexthashiconvldaplibxmlmysqlndopensslpcreReflectionsessionSPLstandardxml而此处的安装指南显示 php install 命令如下:pkg install php72 php72-mysqli mod_php72 php72-mbstring php72-zlib php72-curl php72-gd php72-json我相信,基于之前阅读本页的内容,正是缺少 MySQLI 导致 WordPress 抛出致命错误。当我安装缺少的 PHP 模块时,一切又恢复了!
打开App,查看更多内容
随时随地看视频慕课网APP