“提供非法方案,只允许使用字母数字字符”Magento

时间:2014-12-30 14:01:02

标签: php magento

大约2年后,该网站突然抛出此错误而没有任何代码更改(也是在冲浪到../admin时)。

同一网站空间上的另一个magento网站也存在同样的问题。

针对此问题提出的其他解决方案是关于格式错误的base_url变量,但这不是这种情况。也因为它一直有效,这不应该是问题。

是否存在连接数据库的过载或失败?

2 个答案:

答案 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表中)

See also