我有一个过去几年写的现有Web应用程序。我选择mysqli作为访问MySQL数据库的方法。这很好。我的问题是我正在部署到第三方Web主机服务器 - WHM / cPanel - 我找不到在这台服务器上安装mysqli的方法。我在这里尝试了很多东西 - 包括我在这个网站上找到的所有内容。 这个服务器使用yum。它有PHP5.4 - MySQL 5.5当我运行phpinfo时,有一个MySQL部分,但没有MySQLi部分。我的代码崩溃了“class mysqli not found”错误。 PHP.net上的文档声明mysqli包含在从PHP 5.0开始的标准发行版中。我知道一个事实不再是真的 - 我用Ubuntu构建的最后3台机器上没有mysqli我必须使用apt-get install php5-mysqlnd找到/安装它我找不到mysqli的软件包这个服务器。 重写我的所有SQL以使用本机驱动程序将不是一项简单的任务。我宁愿避免这种情况。任何想法都将不胜感激。
答案 0 :(得分:3)
我自己的问题的答案:WHM - >软件 - > EasyApache
我当前的配置显示在顶部并被选中(单选按钮)。我编辑了这个并选择了穷尽的选项列表。我能够选择几个项目,包括mysqli,mbstring,json,mcrypt,XML,date,openssl,socket,soap,xmlwriter ......很难相信很多人丢失很多是我刚才还没发现的下一个问题。
EasyApache为我重新编译apache / php并自动重启apache。 MySQLi现在包含在我选择的其他元素中。
要进一步配置PHP - 我必须使用phpinfo来查找它正在加载的php.ini文件并以root用户身份编辑(sudo)。
有一个设施WHM - >服务配置 - > PHP配置编辑器
可以替代使用,但不太可能使用此页面提供所有选项。另外:请参阅下面的注释:我必须手动编辑php.ini以配置新内容。
我还想指出应该在php.ini文件中添加其他部分,但事实并非如此。应该有一个部分配置mysqli(与mysql [本机驱动程序]分开),mbstring,soap等。运行EasyApache更新PHP后,我的服务器上的php.ini文件中没有这些。我必须编辑php.ini文件并为它们添加部分并重新启动apache。仅供参考
答案 1 :(得分:0)
您正在服务器上使用cPanel控制面板,因此您需要通过WHM>>在服务器上启用此mysqli。软件>> EasyApache(Apache更新)
或者您也可以使用以下命令通过命令行执行此操作。
/scripts/easyapache