簡體   English   中英

如何在open-basedir指令中包含PHAR存檔的路徑?

[英]How to include paths to PHAR archives in the open-basedir directive?

我正在嘗試在本地開發計算機上使用composer ,並且在嘗試從PHAR存檔中復制某些內容時它總是失敗:

[ErrorException]
copy(): open_basedir restriction in effect. File(phar://E:/xampp/php/composer/composer.phar/src/Composer/Autoload/ClassLoader.php) is not within the allowed path(s)

E:\\ xampp \\ php \\ composer包含在open_basedir指令中,在該位置讀取和寫入文件可以正常工作,僅訪問PHAR存檔中的文件無效。 我嘗試添加以下路徑:

E:\xampp\php\composer\composer.phar\src\
phar://E:/xampp/php/composer/
phar://E:/xampp/php/composer/composer.phar/src/
phar://E:/xampp/php/composer/composer.phar/src/Composer/Autoload/

但它都無濟於事,它仍然失敗,並顯示相同的錯誤。

是否有一種特殊的方式來包含PHAR檔案的路徑? 有可能嗎? 應該是必要的嗎? 可能與此錯誤有關: https : //bugs.php.net/bug.php ?id =64634嗎?

我的系統:Windows 7 x64,XAMPP 1.8.1,Apache 2.4.3,PHP 5.4.7

更新:也嘗試了最新的穩定PHP 5.4.14,同樣的問題。

我設法重現它,並且使用stream_copy_to_stream的解決方法似乎可行,因此我在566313834af3a49cd3f6b41001f7d8549e0b9c96中應用了該方法,並且如果您運行作曲家自我更新,它現在應該可以工作。

我不太確定這可能會影響作曲家的其他部分,但是如果您仍然遇到類似的問題,請隨時在github上打開錯誤報告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM