0

私は現在問題を抱えています

解析エラー: 構文エラー、13 行目の /home1/defcon2/public_html/usercp/index.php の予期しない T_INCLUDE

その時点までのコードは次のとおりです。

<?php
/* [snip] */
require_once(__DIR__ . "/recources/utils.class.php")
include(__DIR__ . "/resources/pagehead.php"); // line 13

ファイルは適切な場所にあり、PHPMyAdmin 3.5.5 を使用しています

4

2 に答える 2

2

これがあなたが提供したコードであれば、問題は簡単です:

require_once(__DIR__."/recources/utils.class.php") //<-- no semi colon
include(__DIR__."/resources/pagehead.php");

require_once 行の末尾にセミコロンがありません。

PHP エラー報告は、その内容が正確です。コードの実際の問題がエラーでなくても、PHP がエラーで述べた行でも、PHP は嘘をつきません。

PHP エラーの「予期しない」ものは、​​通常、エラーで言及されているものの前に何かを予期していたという点で、まっすぐカットされています。この場合、予期しない 'unexpected T_INCLUDE' 上記の行にセミコロンがありません。

シナリオ全体に加えて、特定の場所からファイルを含めるだけでよいという__DIR__ことでしょうか? これはファイルのディレクトリを__DIR__返します。インクルード ファイル内で使用すると、インクルード ファイルのディレクトリが返されます。
PHP のバージョンが古すぎて更新できない場合は、完全なパスを明示的にリストする必要があります。

または、ブートストラップ タイプ ファイル (すべてのスクリプトに含まれる) がある場合、価値があり頻繁に使用される場合は、そこに何かを定義できます。

于 2013-09-22T00:28:14.240 に答える
2

Failed opening required '__DIR__/recources/utils.class.php__DIR__ 最初に導入した 5.3.0 よりも古い php を使用していることが原因です。

__DIR__に置き換えることで「修正」できますがdirname(__FILE__)、コードが古い php バージョンと互換性がないだけである可能性があります。

于 2013-09-22T00:32:43.503 に答える