0

MAMPを使用してローカルでサイトをホストしています。仮想ホストを適切にセットアップしましたが、ローカル URL my.example.local を参照すると index.php ファイルが取得されます。

問題は、PHP ファイル インクルードが機能しないことです。コードのサンプルを次に示します。

<?php
session_start();
$_SESSION['message'] = '';
require_once "includes/config.php";
require_once "includes/classes/facilities.class.php";
require_once "includes/classes/states.class.php";
$title = "Home";
$sub_title = $title;
$reset = false;
require_once "includes/header.php";
?>

index.phpにアクセスするときに表示されるエラーメッセージは次のとおりです。

Warning: require_once(includes/classes/facilities.class.php): failed to open stream: No such file or directory in /Users/userName/IOD/portal/index.php on line 9    
Fatal error: require_once(): Failed opening required 'includes/classes/facilities.class.php' (include_path='.:/Applications/MAMP/bin/php/php5.4.10/lib/php') in /Users/userName/IOD/portal/index.php on line 9

記録のために、ホスト名などを使用して、相対、絶対、ファイルパスを参照する複数の異なる方法を試しました。

私は何でも試してみたいと思っていますが、これまでのところ運がありません。ああ、あなたが尋ねる前に、はい、ファイルは参照された場所にありますが、何らかの理由で(ローカル)サーバーはそれらがそうであるとは思わないようです.

注: これは Web サーバー上で正常に動作します。ローカルでホストしてバージョン管理を実装しようとしていたので、ローカルで開発してサーバーに変更をプッシュできます。

4

1 に答える 1

2

include/ フォルダーをこのフォルダーに入れると、

/Users/jfloyd/IOD/includes/<all in here>

次に、PHP ini の次の行を次のように変更します。

include_path='.:/Applications/MAMP/bin/php/php5.4.10/lib/php'

include_path='.:/Applications/MAMP/bin/php/php5.4.10/lib/php:/Users/jfloyd/IOD/'

次に、ファイルを保存してサーバーを再起動すると、インクルード ファイルが見つかるはずです。

この ini ディレクティブは、先ほど説明したように、各ファイル、.htaccess を使用する各フォルダー、httpd.conf、または ini ファイルの任意の数の場所に設定できます。

于 2013-04-23T15:17:22.923 に答える