【发布时间】:2015-07-21 09:25:39
【问题描述】:
正如这里所讨论的: mysqli works when run directly but not when via js-ajax
我可能需要在我的网络服务器 php 副本中启用 mysqli。 它已经在命令行中启用了。
如何确定是否在特定的 php 副本中启用了 mysqli, 如果不是,我该如何安装?
我的网络服务器运行的是 Ubuntu 14.04.2 LTS。
我现在尝试在我的 php.ini 文件中添加以下扩展名:
extension=mysqli.so
extension=pdo_mysql.so
extension=php_mysqli.so
我试过单独运行它们,重新启动 mysql 和 apache,运行 sudo php5enmod mysqli 然后我再次运行该页面,但同样的错误不断在 /var/log/apache/error.log 中弹出:
PHP Fatal error: Class 'mysqli' not found in /var/www/html/..
除非我从服务器端运行 insert.php,否则不会将任何内容添加到 sql 表中。
当我在 php.ini 文件中包含所有三个扩展名时,我得到以下错误很好:
Failed loading /usr/lib64/php/modules/ioncube_loader_lin.so: /usr/lib64/php/modules/ioncube_loader_lin.so: cannot open shared object file: No such file or directory
Failed loading /usr/lib64/php/modules/ixed.lin: /usr/lib64/php/modules/ixed.lin: cannot open shared object file: No such file or directory
Failed loading /usr/lib64/php/modules/ZendOptimizer.so: /usr/lib64/php/modules/ZendOptimizer.so: cannot open shared object file: No such file or directory
Failed loading /usr/lib64/php/modules/opcache.so: /usr/lib64/php/modules/opcache.so: cannot open shared object file: No such file or directory
【问题讨论】:
-
什么是webserver php 副本?
-
我认为它是从服务器调用 php 时实现的 php 语言的副本。
-
:) 检查 php.ini .. .with phpinfo() 你可以看到哪个 php.ini 文件用于 cli 和 webserver php copy
-
grep extension /etc/php5/apache2/php.ini的输出是什么? -
文件
/usr/lib64/php/modules/mysqli.so是否存在?