PHP 不会在 Fedora 25 上加载 pdo_mysql 扩展

标签 php mysql linux pdo fedora-25

在 F25 上对我的 FreePBX 安装进行了一些尝试之后,我似乎已经损坏了它,并且无法加载 pdo_mysql:

[root@freepbx-localdomain freepbx] # /usr/bin/env php -m | grep -i pdo
PDO
pdo_sqlite

FreePBX 的 ./install 正确错误:

Checking if Asterisk is running and we can talk to it as the 'asterisk' user...Done
Preliminary checks done. Starting FreePBX Installation
Checking if this is a new install...Yes (No /etc/amportal.conf file detected)
Database Root installation checking credentials and permissions..Error!
Invalid Database Permissions. The error was: could not find driver

最后,pdo_mysql在/etc/php.d目录下:

[root@freepbx-localdomain php.d] # ls *pdo_mysql*
30-pdo_mysql.ini

我在这里苦苦挣扎,并准备进行干净的 CentOS 安装(而不是在 Fedora Workstation 上运行它,这不是最好的主意)。想法?

编辑:虽然据说 php.ini 不再用于加载扩展,但我还是尝试了一下,添加:

extension="pdo.so"
extension="pdo_mysql.so"

现在……

[root@freepbx-localdomain freepbx] # /usr/bin/env php -m | grep -i pdo
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20090626/pdo.so' - /usr/local/lib/php/extensions/no-debug-non-zts-20090626/pdo.so: undefined symbol: zend_new_interned_string in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20090626/pdo_mysql.so' - /usr/local/lib/php/extensions/no-debug-non-zts-20090626/pdo_mysql.so: undefined symbol: mysqlnd_allocator in Unknown on line 0
PDO
pdo_sqlite

最佳答案

我一直在胡思乱想这个问题,我想我通过以下方式解决了它:

在终端中使用此命令安装 php mysql:

dnf install  php-mysqlnd

然后使用以下命令重新启动 apache:

service httpd restart

关于PHP 不会在 Fedora 25 上加载 pdo_mysql 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37578807/

相关文章:

linux - 在 linux 中是否有显示特定命令选项的详细描述的技巧

c - errno 常量 EMEDIUMTYPE 的含义

php - Prestashop 和 Postgresql

php - 在 Linux 上安装哪个 Eclipse 版本以进行 PHP 开发

php - mysql_fecth_row 结果的索引始终为 0

linux - 如何使用免费的 Linux 命令行工具将字体嵌入到 PDF 中?

php - 动态调用类中的方法

php - 在读取 file.js 时将目标添加到链接

mysql - 查询仅显示每个线程的最新消息

php - 时间表MySQL查询