2012-08-16 53 views
3

我在开发过程中遇到了一些网站问题,并决定运行magento-check.php文件以查看是否所有内容都可以使用。结果是。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服务器版本:5.5.24-0ubuntu0.12.04.1

还要注意的是Magento的已安装在服务器上,operating.The问题我已经仅在产品页面上有500个内部服务器错误。我不认为这些问题是相关的,但仍然很奇怪。

回答

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', '<')) { 

换句话说,脚本运行第e下列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有错误。分别检查它们的错误日志以查看错误是什么。

+0

好吧,这是有道理的。 Magento安装在专用的apache2网络服务器上,数据库位于单独的专用数据库服务器上。 – James 2012-08-17 00:28:34

0

你需要用PHP MySQL的&检查精确的Magento版本的支持,我希望下面的代码可帮助检查确切的版本PHP 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); 
0

我只是解决了这个问题。事实证明,MySQL警告可能是虚惊一场;对我而言,将PHP版本(我正在使用MAMP)从7改为5.6也有诀窍。看一些论坛,将PHP版本从5.3降低到5.2也适用于某些论坛。

相关问题