大约2年后,该网站突然抛出此错误而没有任何代码更改(也是在冲浪到../admin时)。
同一网站空间上的另一个magento网站也存在同样的问题。
针对此问题提出的其他解决方案是关于格式错误的base_url变量,但这不是这种情况。也因为它一直有效,这不应该是问题。
是否存在连接数据库的过载或失败?
答案 0 :(得分:1)
要解决此错误,我们应首先检查主要内容:
检查' web / unsecure / base_url'和' web / secure / base_url'表格中的条目' core_config_data'并确保URL不应包含任何空格和&应该有正确的URL 我们应该检查位于' app / etc / local.xml'下的数据库连接字符串。并确保数据库,用户名和&密码不应包含非法字符,如' ['这可以打破XML。
答案 1 :(得分:1)
非法方案例外来自
#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
中设置的值设置的,其中包含非字母数字字符集的网址。
您可以通过向系统添加一些临时日志来识别错误的字符串
public static function factory($uri = 'http', $className = null)
{
Mage::Log($uri);
file_put_contents('/tmp/uri.log',"\n",FILE_APPEND);
然后修复该值(可能在core_config_data
表中)