3

我在开发过程中遇到了一些网站问题,因此决定运行 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 Internal Server Errors。我不认为这些问题是相关的,但它仍然很奇怪。

4

3 回答 3

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

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

/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 Internal Server Errors,这意味着 apache 有错误,或者 PHP 有错误。分别检查他们的错误日志,看看错误是什么。

于 2012-08-17T00:13:07.730 回答
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);
于 2015-08-16T07:12:39.053 回答
0

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

于 2016-01-18T15:09:52.540 回答