Modx Evo - 从网络服务器复制到localhost管理员后不再可能登录

时间:2015-06-29 17:37:14

标签: php modx modx-evolution

我正在使用PHP 5.5.12的最新WAMPServer64。

我做了什么:从网络服务器(运行PHP 5.4.16)我已经将modx文件夹复制到localhost,然后我复制了整个数据库。我还通过manager/includes/confic.inc.php相应地更改了数据库凭据。

打开经理登录时,我看到以下内容:

  

不推荐使用:mysql_connect():不推荐使用mysql扩展,将来会删除它:在第93行的\ manager \ includes \ extenders \ dbapi.mysql.class.inc.php中使用mysqli或PDO

当我尝试登录时,经理没有出现,我收到一堆错误,php_error.log的内容:

PHP Deprecated:  mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in manager\includes\extenders\dbapi.mysql.class.inc.php on line 93

PHP Stack trace:

PHP   1. {main}() manager\processors\login.processor.php:0

PHP   2. DBAPI->escape() manager\processors\login.processor.php:51

PHP   3. DBAPI->connect() manager\includes\extenders\dbapi.mysql.class.inc.php:156

PHP   4. mysql_connect() manager\includes\extenders\dbapi.mysql.class.inc.php:93

PHP Notice:  Undefined index: captcha_code in manager\processors\login.processor.php on line 53

PHP Stack trace:

PHP   1. {main}() manager\processors\login.processor.php:0

PHP Notice:  Undefined index: rememberme in manager\processors\login.processor.php on line 54

PHP Stack trace:

PHP   1. {main}() manager\processors\login.processor.php:0

PHP Notice:  Undefined variable: allowed_ip in manager\processors\login.processor.php on line 134

PHP Stack trace:

PHP   1. {main}() manager\processors\login.processor.php:0

PHP Notice:  Undefined variable: allowed_days in manager\processors\login.processor.php on line 148

PHP Stack trace:

PHP   1. {main}() manager\processors\login.processor.php:0

PHP Notice:  Undefined variable: newloginerror in manager\processors\login.processor.php on line 224

PHP Stack trace:

PHP   1. {main}() manager\processors\login.processor.php:0

PHP Warning:  Cannot modify header information - headers already sent by (output started at manager\processors\login.processor.php:54) in manager\processors\login.processor.php on line 298

PHP Stack trace:

PHP   1. {main}() manager\processors\login.processor.php:0

PHP   2. setcookie() manager\processors\login.processor.php:298

PHP Notice:  Undefined variable: sql in manager\includes\extenders\dbapi.mysql.class.inc.php on line 276

PHP Stack trace:

PHP   1. {main}() manager\processors\login.processor.php:0

PHP   2. logHandler->initAndWriteLog() manager\processors\login.processor.php:302

PHP   3. logHandler->writeToLog() manager\includes\log.class.inc.php:42

PHP   4. DBAPI->insert() manager\includes\log.class.inc.php:76

我已在网上搜索解决方案,有些人建议清除缓存,这是不可能的,因为管理器界面没有加载。我也尝试使用默认安装文件夹升级,同样的问题依然存在。

因此,如果有人知道如何在不安装旧版PHP的情况下解决这个问题,那就太棒了。

3 个答案:

答案 0 :(得分:3)

要摆脱mysql弃用警告,你必须使用Evo 1.0.15+,你应该改变

$database_type = 'mysql';

$database_type = 'mysqli'; 

在config.inc.php

只有'那么使用旧的mysql_函数的东西就是安装程序。 PHP 5.5中禁用了已弃用的警告。

答案 1 :(得分:0)

MODx Evolution里面有很多旧代码。正如您在警告中看到的那样,它正在使用deprecated mysql-functions。这在MODx Forums已知。

目前,您有两种可能的解决方案:

答案 2 :(得分:0)

可以查看以下解决方案 https://toster.ru/q/125593

真的有效! :)