【发布时间】:2016-01-10 07:40:17
【问题描述】:
我有一个问题,drush 无法使用 mysql 连接到我的 drupal 站点。我认为这是由于模块加载问题。例如,我以 root 身份检查 pdo_mysql 是否像这样加载:
# php -m|grep mysql
mysql
mysqli
pdo_mysql
# php -m|wc -l
55
# which php
/usr/bin/php
# php -i|grep conf
Scan this dir for additional .ini files => /etc/php5/cli/conf.d
Additional .ini files parsed => /etc/php5/cli/conf.d/curl.ini,
/etc/php5/cli/conf.d/gd.ini,
/etc/php5/cli/conf.d/ldap.ini,
/etc/php5/cli/conf.d/mysql.ini,
/etc/php5/cli/conf.d/mysqli.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_mysql.ini
但是当我以我的用户身份运行这个命令时,我没有看到任何 mysql 模块:
$ php -m|grep mysql
$ php -m|wc -l
48
$ which php
/usr/bin/php
$ php -i|grep conf
Scan this dir for additional .ini files => /etc/php5/cli/conf.d
这是为什么?以及如何让这些模块以我的用户身份加载到 php-cli 中?
我在 ubuntu 14.04 上使用 php 5.3.10(我知道,但它是为了与我们的生产服务器兼容)。
【问题讨论】:
-
php -i查看正在加载哪些配置文件。我怀疑这是读取 php.ini 或包含的 ini 文件时的文件权限问题。 -
@Ghedipunk 我已经包含了
php -i|grep conf的输出。所有相关的目录/文件都是世界可读和可执行的。 -
想通了:我必须这样做
chmod a+x /etc/php5。谢谢@Ghedipunk!