2014-04-06 140 views
0

我寫了一段PHP(test.php的)這樣的代碼爲什麼PHP GD庫無法在磁盤上寫入圖像?

$width = 300; 
$height = 200; 
$im = imagecreatetruecolor($width,$height); 
$mypic = imagecolorallocate($im,100,30,125); 
imagefill($im,0,0,$mypic); 
imagepng($im,'./mypic.png'); 
imagepng($im); 
imagedestroy($im); 

當我在Ubuntu的命令行(PHP test.php的)運行它,它工作正常,並寫入mypic.png我的磁盤上。但是,當我訪問遠程客戶端(Chrome)上的test.php時,它會正確顯示圖片,但程序無法在磁盤上寫入圖像。

+3

檢查寫入權限。 –

+1

你也可以檢查是否有任何錯誤消息被拋出,它應該給你一個線索失敗的線索。 –

回答

1

嘗試運行chown -R www-data:www-data /var/www假設/ var/www /是您的站點目錄。或者讓您正在編寫的文件具有寫入權限。

+0

問題解決了。我的apache是​​由root啓動的,當有一個http請求時,相應的用戶是www-data,而不是root。對? –

+0

是的,這是正確的 – smistry

相關問題