2017-02-15 91 views
1

我遇到了一個問題,包括路徑在Apache/ubuntu與PHP 7的瘦應用程序。當我的應用程序/路由索引頁嘗試包括位於子目錄中的文件時,我得到了我的Apache error.log中以下,但路徑似乎是正確的對我說:在Slim應用程序中包含Ubuntu的路徑PHP警告

PHP Warning: include(myapp/production/include.php): failed to open stream: No such file or directory in /var/www/html/index.php on line 33 
PHP Warning: include(): Failed opening 'myapp/production/include.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/index.php on line 33 

目錄結構:在index.php中

/var/www/html/ 
├── index.php 
├── myapp/ 
│ ├── vendor/ 
│ └── production/ 
│  └── include.php 

相關線路33:

include ('myapp/production/include.php'); 

難道會有一些與導致此問題的文件/目錄權限有關的東西嗎?我很知道在Linux服務器上設置web應用程序;任何幫助表示讚賞。

編輯

我加了一個測試包括在主web目錄文件(相同的index.php),以及包括不工作。

+1

是的,你應該檢查權限,甚至爲了調試的緣故,我會在'index.php'的同一個文件夾中創建'test.php'文件並嘗試'包含'它,然後你會發現它是關於權限與否 – smarber

+0

我試過一個包含在web根目錄下的測試,它確實有效。 – Marcatectura

+0

然後或者路徑錯誤或者缺少一些權限 – smarber

回答

0

如果我猜測,我懷疑磁盤上目錄和文件名的情況與您在PHP代碼中使用的不同。

Linux有一個區分大小寫的文件系統,因此名爲Production的目錄與名爲production的目錄不同。

確保您在include語句中使用的文本與磁盤上的目錄和文件的名稱完全匹配。