大约 2 年后,该网站突然抛出此错误,没有任何代码更改(冲浪时也是如此)。/管理员)。
同一网络空间上的另一个magento站点也有相同的确切问题。
针对此问题提出的其他解决方案是关于格式错误的base_url变量,但这里的情况并非如此。也因为它一直有效,这不应该是问题。
可能是某种过载或无法连接到数据库吗?
要解决此错误,我们应该首先检查主要事项:
检查表格"core_config_data"中的"web/unsecure/base_url"和"web/secure/base_url"条目,并确保URL不应包含任何空格,并且应存在正确的URL我们应该检查位于"app/etc/local.xml"下的数据库连接字符串,并确保数据库,用户名和密码不应包含非法字符,例如"[",这些字符可能会破坏XML。
非法计划例外来自
#File: lib/Zend/Uri.php
public static function factory($uri = 'http', $className = null)
{
//...
if (ctype_alnum($scheme) === false) {
#require_once 'Zend/Uri/Exception.php';
throw new Zend_Uri_Exception('Illegal scheme supplied, only alphanumeric characters are permitted');
}
这意味着在您的系统中的某个地方,可能是由于在 System -> Configuration
中设置的值,有一个带有非字母数字字符集的 URL。
您可以通过向系统添加一些临时日志记录来识别坏字符串
public static function factory($uri = 'http', $className = null)
{
Mage::Log($uri);
file_put_contents('/tmp/uri.log',"'n",FILE_APPEND);
然后修复值(可能在core_config_data
表中)
另请参阅。