基本上,我有一個腳本無法在OS X機器上看到現有目錄。該目錄已從外部硬盤驅動器複製到桌面上,我認爲這可能是問題的核心。realpath()在Mac OS X上的現有文件上返回false XAMPP服務器
$path = '/Users/username/Desktop/testfolder';
$path = realpath($path);
這上面不行。
$path = '/Users/username/Desktop';
$path = realpath($path);
這上面的工作正常。
我會給你一點情況的背景。我正在運行Mac OS X Lion 10.7。我已經安裝了XAMPP。這是需要與同一網絡上的iPad進行通信的自助終端iMac,否則我不會在OS X上運行apache。iPad需要從iMac中檢索一些圖像,並且PHP基本上充當代理去做這個。我創建了一個後端,讓管理員設置圖像的路徑,這是發生此錯誤的位置。
所以,我不知道發生了什麼事。我想這是與外部硬盤驅動器的這些文件的權限和所有者之間的衝突造成的。我相信我們可以在終端上做一個「chown」或「chmod」,但這不是一個很好的解決方案。我喜歡讓PHP適應這種情況。有什麼想法嗎?請!? :-)
[手冊](http://php.net/manual/en/function.realpath.php)的狀態'運行腳本必須對層次結構中的所有目錄具有可執行權限,否則realpath()將返回FALSE 。 - 如果這不是真的(因爲我懷疑它不是,那聽起來你對'testfolder'沒有執行權限),那麼* only *解決方案就是'chmod' /'chown' /'chgrp' 。這可能不是一個很好的解決方案,但你只需要學會喜歡它...... – DaveRandom 2012-03-19 16:58:25
由於梯形路徑的工作原理,它明顯具有桌面的權限,只是不在testfolder上。因此,我知道這一點,我嘗試在機器上本地創建一個名爲「testfolder2」的第二個目錄,並將圖像從testfolder複製到testfolder2,但我收到了同樣的問題。 realpath在新文件夾上返回false。有什麼想法嗎? – normmcgarry 2012-03-19 17:03:09
如果PHP腳本在'testfolder'或'testfolder2'上沒有可執行文件,它將不起作用。嘗試'chmod 777'文件夾,看看你是否仍然有問題... – DaveRandom 2012-03-19 17:08:07