Magento-Check.php认为我使用的MySQL版本比我低

时间:2012-08-16 23:56:15

标签: mysql magento

我在开发过程中遇到了一些站点问题,并决定运行magento-check.php文件以查看是否所有内容都是最新的。结果是。

Your server does not meet the following requirements in order to install Magento.
The following requirements failed, please contact your hosting provider in order to receive assistance with meeting the system requirements for Magento:

You need MySQL 4.1.20 (or greater)
The following requirements were successfully met:
You have PHP 5.2.0 (or greater)
Safe Mode is off
You have the curl extension
You have the dom extension
You have the gd extension
You have the hash extension
You have the iconv extension
You have the mcrypt extension
You have the pcre extension
You have the pdo extension
You have the pdo_mysql extension
You have the simplexml extension

问题是我正在运行MySql Server版本:5.5.24-0ubuntu0.12.04.1

另请注意,Magento已安装在服务器上并正在运行。我遇到的问题仅在产品页面上存在500个内部服务器错误。我不认为这些问题是相关的,但它仍然很奇怪。

3 个答案:

答案 0 :(得分:4)

我不确定那里有一个问题,但是如果你在谈论这里发布的magento-check.php脚本

http://www.magentocommerce.com/knowledge-base/entry/how-do-i-know-if-my-server-is-compatible-with-magento/

这将获得具有以下注释的mysql版本

preg_match('/[0-9]\.[0-9]+\.[0-9]+/', shell_exec('mysql -V'), $version);

然后使用

进行比较
if(version_compare($version[0], '4.1.20', '<')) {

换句话说,该脚本运行以下shell命令

$ mysql -V

然后在输出中查找X.X.X版本号。例如,这个

/usr/local/mysql/bin/mysql  Ver 14.14 Distrib 5.1.41, for apple-darwin9.5.0 (i386) using readline 5.1

表示脚本认为版本为5.1.41

我的猜测是你正在使用删除服务器。这意味着上面的脚本会检查运行本地的mysql cli客户端的版本。你也可能没有在本地运行任何mysql,这意味着脚本会尝试解析文本

mysql: command not found

是版本号,而不是找到一个。

对于500内部服务器错误,这意味着apache有错误,或PHP有错误。分别检查错误日志以查看错误。

答案 1 :(得分:0)

您需要使用php&amp; amp;检查Exact magento版本支持。 mysql,我希望下面的代码可能有助于检查Exact Version PHP&amp; MySQL的

##Test What Exact Version PHP & MySQL
echo "<h2>Exact Version PHP & MySQL: </h2>";
printf("PHP version: %s\n", PHP_VERSION); 
$mysql = mysqli_connect('localhost', 'devonbd_com', 'XSZefjGW'); 
#$mysql = mysqli_connect('localhost', 'root', ''); 
## Test the MySQL connection 
if (mysqli_connect_errno()) {
printf("</br> Connection failed: %s\n", mysqli_connect_error());
exit();
}
## Print the MySQL server version 
printf("</br> MySQL server version: %s\n", mysqli_get_server_info($mysql)); 
##Close the MySQL connection 
mysqli_close($mysql);

答案 2 :(得分:0)

我刚刚解决了这个问题。事实证明,MySQL警告可能是一个误报警;对我来说,将PHP版本(我正在使用MAMP)从7改为5.6就可以了。看一些论坛,将PHP版本从5.3降低到5.2也适用于某些人。