Quantcast
Channel: OKWAVE 最新質問([技術者向] コンピューター/205)【本日】
Viewing all articles
Browse latest Browse all 38062

WindowsとCentOSでのPHPの動作

$
0
0
いつもお世話になっております。 Windows環境で開発したPHPアプリをCentOS環境に移行しようとしているのですが、 件名のとおり、PHPのrequireの動作がWindowsとCentOSで違うことから、 原因を調べております。お知恵を拝借したいと思います。 例えば、以下の構成で親プログラム(myApp.php)から子(myparts/main.php)を読み込もうとしています。 ドキュメントルート/test/myApp.php ドキュメントルート/parts/mypartsA/main.php ●myApp.php <?php echo ("##### myApp is starting now !!! </br>"); require_once('/parts/mypartsA/main.php'); ?> ●mypartsA/main.php <?php echo ("#### mypartsA is required </br>"); ?>And myApp.php and mypartsA/main.php are in following structure. 結果として、 ●Windowsでは、以下が表示されますが・・・ ##### myApp is starting now !!! #### mypartsA is required ●CentOSでは、以下のとおりエラーになります。 PHP Warning: require_once(/parts/mypartsA/main.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory in /var/www/html/test/myApp.php on line 12 PHP Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required (/parts/mypartsA/main.php’(include_path='.:/php/includes:/usr/share/pear:/usr/share/pear/PEAR:/var/www/html') in /var/www/html/test/myAPP.php on line 12 解決策として、以下のようにすればエラーが解消することは分かっているのですが・・・ require_once($_SERVER['DOCUMENT_ROOT']./parts/mypartsA/main.php); なるべく既存のアプリに手を入れたくないので、 何故Windowsではできて、何故CentOSではできないのかを知りたいと思います。 とりあえず、PHP.iniのinclude_pathを調べてみましたが、 表記方法の違いはあるものの、に意味的な違いが見つかりません。 ●Windowsでの設定 .;C:\PHP;C:\PHP\pear;C:\Apache2.2.22\htdocs ●CentOSでの設定 .:/php/includes:/usr/share/pear:/usr/share/pear/PEAR:/var/www/html この他何をポイントに調べていったらよいか教えていただければと思います。 よろしくお願いします。

Viewing all articles
Browse latest Browse all 38062

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>