在我的中启用mysqli
正如这里所讨论的:mysqli在直接运行时工作,但不是在通过js-ajax时运行
我可能需要在我的web服务器php副本中启用mysqli。 它已在命令行中启用。
如何确定mysqli是否在特定的php副本中启用,如果不是,我该如何安装它?
我的网络服务器正在运行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/..
没有东西会被添加到sql表中,除非我从服务器端运行insert.php。
当我在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
从你的评论看来,你的extension_dir
被设置为/usr/lib64/php/modules
但是这个文件夹在你的系统上不存在。
在你的系统上,mysqli.so模块实际上是在/usr/lib/php5/20121212/mysqli.so
找到的
要解决该问题,可以将extension_dir
设置为/usr/lib/php5/20121212
以便extension=mysqli.so
行能够找到共享对象。
您需要重新编译您的PHP并将代码--enable-all添加到最后。 (我认为这个命令是正确的,如果不是这个概念的话)你的共享对象没有安装。
你需要从Apache服务器打开mysqli服务,然后重新启动Apache服务器
链接地址: http://www.djcxy.com/p/27595.html