我在安装了PHP 5.3.29的服务器上安装了Joomla 3.3.3。
当他们告诉我任务已经完成时,我在.htaccess文件的顶部添加了以下几行:
# PHP 5.5
AddHandler application/x-httpd-php55 .php
<IfModule mod_suphp.c>
suPHP_ConfigPath /opt/php55/lib
</IfModule>Error displaying the error page: Application Instantiation Error: Could not connect to MySQL.如果我删除.htaccess中添加的行,site将再次工作。
这里可能发生了什么?
发布于 2017-06-08 09:47:24
可能他们还没有安装mysql扩展,你可以用一个简单的phpinfo script来比较不同版本的php。
<?php
phpinfo();使用PHP 5.3和PHP 5.5在你的浏览器中运行它,然后向下滚动“mysql /mysqli/mysqlnd”部分,它会告诉你它是否已经安装了mysql扩展,如果它还没有安装,请联系你的主机并要求他们添加它。
如果你在vps或类似的平台上运行,你也可以检查apt/dnf/yum来检查包的差异:
apt list --installed | grep phpdnf list --installed | grep phpyum list installed | grep php如果您看到有很多软件包以php53-为前缀,而只有少数软件包以php55-为前缀,您可以要求他们安装缺少的软件包,例如(在OSX上使用brew ),如果我使用brew列出,则我为php56和php71安装的软件包之间有明显的区别
user@comp ~ $ brew list | grep php
php56
php56-mcrypt
php56-memcache
php56-mongo
php56-xdebug
php71
php71-xdebug在这种情况下,我会要求主机安装php71-mcrypt、php71-memcache和php71-mongo或等价物。
发布于 2017-06-08 21:20:14
通常,出现此问题的最常见原因(在您的场景中)是mysqli包与安装的PHP版本不兼容。通常情况下,主机会处理这个问题(我会纠缠他们)。
您可以在此处检查mysqli在Centos环境中的安装:http://php.net/manual/en/mysqli.installation.php
https://stackoverflow.com/questions/44424551
复制相似问题