2012-09-18 29 views
0

工作我新的服務器管理和PHP,所以我的道歉。這一個真的讓我卡住了。我重新啓動了EC2服務器,但仍然沒有運氣。無法從瀏覽器include_path中找到,但在終端

PHP文件

<?php 
require_once "System.php"; 
var_dump(class_exists('System', false)); 
?> 

終端(它工作)

[[email protected] current]$ php phpcheck.php 
bool(true) 

瀏覽器 - 它沒有找到該文件

Warning: require_once(System.php): failed to open stream: No such file or directory in /etc/httpd/opt/app/current/phpcheck.php on line 2 Fatal error: require_once(): Failed opening required 'System.php' (include_path='.:/home/ec2-user/pear/share/pear') in /etc/httpd/opt/app/current/phpcheck.php on line 2 
+0

你確定該文件可以通過服務器用戶讀取(這可能會或可能不會是你的執行與命令行操作相同的用戶)?從命令行執行'ls -al'並查看權限是什麼。 – prodigitalson

+0

System.php具有-rw-rw-r--。我如何知道我的web服務器用戶是否與我的命令行用戶不同? – frankie

+1

我想如果你做一個''<?php phpinfo(); ?>'然後從瀏覽器訪問該文件應該告訴你用戶執行PHP程序或者一個運行Apache ...取決於如果PHP運行的CGI/suexec的或作爲基本模塊。 – prodigitalson

回答

2

當我通常有這些問題,我簡單補充一點:

require_once(dirname(__FILE__) . '/System.php');

這樣,你得到一個完整的文件路徑。

然而,你的include_path看起來有點靠不住。 -kc