私は新しいプロダクションサーバに自分の(Wordpress)ソリューションを設定することができます。 PHP関数define
が機能していないことを発見しました。PHP定義で定数が登録されていません
私は自分のfunctions.php
でのコード行を持っている:
define('INCLUDE_DIR', $_SERVER['DOCUMENT_ROOT'] . '/wp-content/themes/storelocator/include/');
テストの次のコード:
if (!defined('INCLUDE_DIR'))
echo ' NOT SET! ';
出力NOT SET
を。
this pageによると、私はinclude
ステートメントで一定の正しいものを使用しています。 残りのコードはfunctions.php
です。正常に動作しています。私はチェックした。
これはPHPの設定に起因するものですか?
define()
がfunctions.php
ファイルの最上部にある:私は、PHPのv5.3.8に
UPDATEを使用しています。
if
のステートメントは、some-file.php
の一番上にあります。
私は確かにfunctions.php
がsome-file.php
の前に実行されています。
UPDATE
私が私のPHPファイルの下に空の行を持っていたので、私はこのエラーを得たようです。私は、空行を削除し、今では動作するようです: -/
defined()チェックを行う前にfunctions.phpがインクルード/必須であることを確認してください。このような単純に広く使われている関数でPHPバグが見つかったと仮定すると、少し物事が進んでいます。 –
functions.phpのインクルードが定義されている場合、チェックとの関係をどこに表示できますか? – Patrick
@Marc B - 'functions.php'は他のWPテンプレートファイルの前に実行されます。だから 'functions.php'は' some.template.php'ファイルの前に 'define()'を使っていました。 – Steven