在我的 php 网络服务器副本中启用 mysqli
Enable mysqli in my in-webserver copy of php
正如这里所讨论的那样:
mysqli works when run directly but not when via js-ajax
我可能需要在我的网络服务器 php 副本中启用 mysqli。
它已经在命令行中启用了。
如何确定 mysqli 是否在特定的 php 副本中启用,
如果不是,我该如何安装?
我的网络服务器是 运行ning 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 table 添加任何内容。
当我在 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
您需要重新编译 PHP 并将代码 --enable-all 添加到最后。 (我认为那个命令是正确的。如果不是这个概念是)你的共享对象没有安装。
您需要从apache服务器打开mysqli服务,然后重启apache服务器
遵循本指南。
跳过关于 apache 网络服务器的第一步。
请注意,php cli(命令行界面)的配置与您的网络服务器使用的 php 的配置位于不同的文件中。
如果需要为apache配置php,默认路径是/etc/php5/apache2/php.ini
on UBUNTU 14.02.
如果您继续遇到 ioncude 问题,请遵循此 link
https://www.digitalocean.com/community/tutorials/how-to-install-ioncube-loader
根据您的评论,您的 extension_dir
似乎已设置为 /usr/lib64/php/modules
,但您的系统中不存在此文件夹。
在您的系统上 mysqli.so 模块实际上是在 /usr/lib/php5/20121212/mysqli.so
中找到的
要解决此问题,您可以将 extension_dir
设置为 /usr/lib/php5/20121212
,以便 extension=mysqli.so
行能够找到共享对象。
正如这里所讨论的那样: mysqli works when run directly but not when via js-ajax
我可能需要在我的网络服务器 php 副本中启用 mysqli。 它已经在命令行中启用了。
如何确定 mysqli 是否在特定的 php 副本中启用, 如果不是,我该如何安装?
我的网络服务器是 运行ning 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 table 添加任何内容。
当我在 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
您需要重新编译 PHP 并将代码 --enable-all 添加到最后。 (我认为那个命令是正确的。如果不是这个概念是)你的共享对象没有安装。
您需要从apache服务器打开mysqli服务,然后重启apache服务器
遵循本指南。
跳过关于 apache 网络服务器的第一步。
请注意,php cli(命令行界面)的配置与您的网络服务器使用的 php 的配置位于不同的文件中。
如果需要为apache配置php,默认路径是/etc/php5/apache2/php.ini
on UBUNTU 14.02.
如果您继续遇到 ioncude 问题,请遵循此 link https://www.digitalocean.com/community/tutorials/how-to-install-ioncube-loader
根据您的评论,您的 extension_dir
似乎已设置为 /usr/lib64/php/modules
,但您的系统中不存在此文件夹。
在您的系统上 mysqli.so 模块实际上是在 /usr/lib/php5/20121212/mysqli.so
要解决此问题,您可以将 extension_dir
设置为 /usr/lib/php5/20121212
,以便 extension=mysqli.so
行能够找到共享对象。