2015-08-18 83 views
1

我們運行一個主要網站,它是在Laravel製作的而不是。然而,本網站上的特定腳本是在Laravel中製作的。我們需要這個腳本(或者確切的說,它的一個特定視圖)從主網站(主要包含HTML的PHP​​文件)獲取一些資源。在Laravel應用程序中,當我們嘗試包含這些資源時,我們不能 - 因爲它們不在Laravel項目工作區中。這會導致文件不存在的錯誤。試圖爬出項目(../../../file.php)似乎也沒有幫助。外部PHP包含在Laravel中

我們包括這樣說:

<?php 
    include '~/template/nav.php'; 
?> 

我們不希望包含此文件到實際的Laravel項目,因爲這需要有更新兩次,以確保它們保持相等。在我們看來,有沒有辦法讓我們包含這個「外部」文件?所做的每一項研究似乎都表明將其添加到項目中,這隻會導致更新管理量的兩倍。

乾杯!

+0

您是否嘗試過在laravel的公共文件夾中創建符號鏈接,並將include符號鏈接與public_path('nav.php'); – baao

+0

@ michael我沒有。我想這會工作 - 但我仍然好奇我們是否可以包含外部文件。 – CmdrSharp

+0

除非在php.ini中設置open_basedir以允許php訪問文檔根之外的文件,否則不能包含非項目文件,即使在非laravel項目中也是如此。你可以用同樣的方法用你的laravel來做到這一點,但是你必須提供完整的路徑名,從你的服務器根目錄開始。/var/www/html/...例如 – baao

回答

-3

顯然這是不可能的 - 所以需要複製文件才能使其正常工作。

0

剛剛面臨同樣的問題。我的Laravel項目是一個需要包含外部php文件的API。所以我所做的是指定整個路徑:

include($ _ SERVER ['DOCUMENT_ROOT']。'/ ../../my_example_file.php');

$ _SERVER ['DOCUMENT_ROOT']會將您引導至Laravel的公用文件夾。