相关疑难解决方法(0)

设置PHP tmp目录 - PHP上传不起作用

我正在使用Valums文件上传器通过带有进度条的网页上传文件.几乎一切正常,但我无法更改默认的tmp目录,在上传过程中存储文件.

文件应存储在/upload目录中,而不是存储在默认系统/tmp目录中,因为/tmp它安装在RAM磁盘中,其大小限制为4 MB,用户将上传大约10 MB的文件.

我搜索了很多网页,但没有一个解决方案有效.我已将temp目录设置为php.ini:

upload_tmp_dir =/upload
Run Code Online (Sandbox Code Playgroud)

我已经设置了/uploaddir的权限,而apache是​​该文件的所有者,因此该目录肯定是PHP可写的.

我已经在文件上传器中设置了目标路径/upload,因为我希望文件在上传后也存储在此目录中.最终结果是成功上传了小文件,但是大于4 MB的文件无法上传 - 我想到这种行为的唯一原因是文件/tmp在上传期间存储.可以肯定的是,我已经检查了它,sys_get_temp_dir()结果是/tmp-so PHP忽略了我的php.ini指令,或者还有其他一些方法来设置上传过程中存储文件的位置.

哦,最后的信息:open_basedir没有设置,所以PHP访问磁盘只受文件权限的限制.

php file-upload valums-file-uploader

29
推荐指数
1
解决办法
11万
查看次数

SplFileInfo :: openFile(/ app/tmp/cache/persistent/cake_core_cake_console _):无法打开流:/lib/.../FileEngine.php第293行中的权限被拒绝

我正在开发CakePHP 2项目.它最初从2.0.x开始,然后最近迁移到2.1.0.在整个开发过程中,我一直收到以下错误消息.

它不可预测地弹出页面顶部.它可能是我只是在查看不同的页面,甚至在我向数据库添加记录之后(但记录正确保存).

Warning:
SplFileInfo::openFile(/var/www/cake_prj/app/tmp/cache/persistent/cake_core_cake_console_): 
failed to open stream: 
Permission denied in 
     /var/www/cake_prj/lib/Cake/Cache/Engine/FileEngine.php on line 293
Run Code Online (Sandbox Code Playgroud)

我以递归方式将tmp文件夹的所有者和组设置为apache,并仍然收到该消息.另外,我然后递归地设置读取,写入和执行所有权限(chmod 777).错误消息仍然会弹出.

即使在更改了所有者,组和权限之后,相关文件仍然存在:

cake_prj/app/tmp/cache/persistent/cake_core_cake_console_
Run Code Online (Sandbox Code Playgroud)

将其所有者和组设置回root,并将其权限设置回默认值.

什么可能导致这个问题?有没有办法确保每次生成此文件时,它始终都是apache:具有读/写/执行权限的apache?

cakephp cakephp-2.0 cakephp-2.1

21
推荐指数
3
解决办法
2万
查看次数

我如何找出哪个用户正在运行当前的PHP脚本?

当我在服务器上运行脚本时,我们如何确定运行php脚本的用户?它是否偶然在与apache或phpmyadmin相同的用户下运行?我的问题可能是错误的框架,但我想知道哪个用户,以便我为/ var中的不同文件夹设置适当的权限

php apache

12
推荐指数
2
解决办法
1万
查看次数

暂时使用PHP将文件夹权限更改为777

我的服务器上有一个Video文件夹,有755的权限.问题是:当有人去上传视频文件时,由于权限错误,无法上传到该文件夹​​.

如果我将权限更改为777,则可以上传视频.但出于安全原因,我不想允许777的文件夹权限.

在上传视频时,有没有办法在PHP中临时更改777的权限?

php folder-permissions

4
推荐指数
1
解决办法
5万
查看次数