MODXでParseエラーが出たら疑うメモ


2016年07月16日


■リソースやテンプレートを表示・編集しようとすると、Parseエラー。

1. MODXのツールから、バックアップ・リストア。
2. オーバヘッドを確認。
3. オーバヘッドの数字リンクをクリックでクリアする。

■Parseエラー $q = end(explode('/', $q));

/manager 管理画面は問題なくログインできて、操作も可能。ただし、ホームページ側でParseエラー表示。

------------------------------------------------------------

manager/includes/document.parser.class.inc.php
803行目でParseエラー
$q = end(explode('/', $q));

------------------------------------------------------------

« MODx Parse Error »

MODx encountered the following error while attempting to parse the requested resource:
« PHP Parse Error »

------------------------------------------------------------
manager/includes/document.parser.class.inc.php (803行目)
------------------------------------------------------------
$q = end(explode('/', $q));

↓ 修正

// $q = end(explode('/', $q));
$buf = explode('/', $q);
$q = end($buf);

 

■Parseエラー The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead

/manager 管理画面は問題なくログインできて、操作も可能。ただし、ホームページ側でParseエラー表示。

mysql_connect が古い(MODX 1.0.5J-r4)
manager/includes/extenders/dbapi.mysql.class.inc.php

------------------------------------------------------------

« MODx Parse Error »

MODx encountered the following error while attempting to parse the requested resource:
« PHP Parse Error »

PHP error debug
Error: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead
Error type/ Nr.: - 8192
File: manager/includes/extenders/dbapi.mysql.class.inc.php
Line: 89
Line 89 source: if (!$this->conn = ($persist ? mysql_pconnect($host, $uid, $pwd) : mysql_connect($host, $uid, $pwd, true))) {

------------------------------------------------------------

mysql_connect を mysqli_connect に変更対応したいけど、面倒・・・。
下記のファイルをアップデートして対応(データベースはそのまま)。

/index.php
/.htaccess
/manager/


■Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in ...

manager/includes/protect.inc.php
または
manager/includes/config.inc.php

error_reporting(E_ALL & ~E_NOTICE);

error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);


Archive