尝试在CentOS上使用Apache 2.2和PHP 5.3配置上载目录时,我不断收到此错误.
在php.ini中:
upload_tmp_dir = /var/www/html/mysite/tmp_file_upload/
Run Code Online (Sandbox Code Playgroud)
在httpd.conf中:
Directory /var/www/html/mysite/tmp_file_upload/>
Options -Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/html/mysite/images/>
Options -Indexes
</Directory>
Run Code Online (Sandbox Code Playgroud)
CentOS目录权限:
drwxrwxr-x 2 root root 4096 Nov 11 10:01 images
drwxr-xr-x 2 root root 4096 Nov 12 04:54 tmp_file_upload
Run Code Online (Sandbox Code Playgroud)
无论我做什么,我上传文件时都会从PHP中收到此错误:
警告:move_uploaded_file(images/robot.jpg):无法打开流:第78行/var/www/html/mysite/process.php中的权限被拒绝
警告:move_uploaded_file():无法在第78行的/var/www/html/mysite/process.php中将'/ tmp/phpsKD2Qm'移动到'images/robot.jpg'
正如您所看到的,它从未从php.ini文件中获取有关上载文件的配置.
我在这做错了什么?
我正在玩一个正在运行的Laravel 4安装并将所有内容都移到子文件夹中.然后我决定不这样做,我把它全部移回(全部通过命令行):
mv * /folder
Run Code Online (Sandbox Code Playgroud)
然后
cd folder
mv * ../
Run Code Online (Sandbox Code Playgroud)
现在,该网站抛出以下错误:
file_put_contents(/var/www/quantquote/app/storage/meta/services.json): failed to open stream: Permission denied
Run Code Online (Sandbox Code Playgroud)
以下是完整错误的屏幕截图:
http://i.imgur.com/8deGG97.png
我已经尝试将/ storage文件夹的权限设置为777无效.
嗯,这个错误是如此知道,但在我的情况下,我无法缓解它在我身边.我已将laravel-4安装迁移到另一台服务器,并且第一次访问时出现此错误:
file_put_contents(/var/www/html/MyApp/app/storage/meta/services.json):无法打开流:权限被拒绝
我跟着不同的googled aswers如下
但是,他们中的任何一个都无法解决我的问题.我还尝试清理缓存并转储autoclass命令:
php artisan cache:clear
chmod -R 777 app/storage
composer dump-autoload
Run Code Online (Sandbox Code Playgroud)
另外,我认为可能会在问题中考虑Web服务器进程,因此我会像这样寻找其用户:
$ ps -ef|grep httpd
apache 11978 11976 0 11:14 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
Run Code Online (Sandbox Code Playgroud)
然后,我添加apache到目录组所有者,问题仍然存在.
我不知道还能做什么,我疯了,因为在满月下裸体跳舞既没有解决问题.