我有FreeBSD 8.0,Apache 2.2.23和PHP 5.4.10的服務器。這是我的VirtualHost配置:如何強制PHP設置文件上傳的正確權限?
<VirtualHost *>
ServerName site.com
ServerAlias www.site.com
DocumentRoot /usr/home/site/pub/htdocs/
php_admin_value open_basedir /usr/home/site/
php_admin_value session.save_path 0;0660;/usr/home/site/pub/tmp/
php_admin_value upload_tmp_dir /usr/home/site/pub/tmp/
</VirtualHost>
/usr/home/site/pub/tmp /由網站擁有:www擁有4770權限。會話文件正確創建(660和site:www)。但上傳的臨時文件使用600的權限創建。所以,因爲網站擁有的這個臨時文件:www和從www:www,move_uploaded_file()運行的Apache無法移動文件。
如何解決?
我認爲我需要在此tmp文件上爲強制設置權限提供補丁PHP。但是哪裏? PHP中的哪些內部函數可以做到這一點?
http://php.net/chmod? –
這個功能不能幫忙,因爲網站擁有的文件:www與600和www從www運行。 – BArtWell