2013-02-28 118 views
0

为了给您一点背景,我创建了一个网站,允许用户上传图片,随后重新调整大小和显示图片。该网站工作完美,但我最近把它移到了新的服务器上,遇到了一些问题。我几乎肯定这个问题是文件权限的结果。我将我的上传文件夹设置为777,因此我以前上传的所有文件都可以正常工作,但上传新文件时会出现问题。上传文件时,使用SFTP访问,映像的权限设置为666,列出的所有者为apache。我写了几行实验chmod函数,但没有任何运气。用PHP更改上传文件的文件权限

<?php 
    require_once("/var/www/html/wp-load.php"); 
    echo shell_exec('whoami'); 
    $test = wp_getattachment_url(123); 
    chmod($test, 0755); 
    //chmod("/var/www/html/wp-content/uploads/image.jpg", 0755); 
    ?> 

输出到屏幕Apache,因此对用户来说也是文件的所有者,但改变的权限一直没有成功。

+0

为什么你需要文件本身的755权限。作为所有者(apache用户),即使您通过sftp上传(正如您所说的上传文件所有者为apache),您也已拥有文件的读/写权限(666)。调整大小/显示不需要更多权限。 – 2013-02-28 07:04:28

+0

这实际上只是一个测试,看看我是否可以更改文件权限。我原来在创建文件后直接使用了chmod命令。也许权限不是问题的原因。关于为什么resize函数可以在我以前的服务器上找到,但在新的服务器上不起作用的任何其他想法?上传的文件将保存为完整图像,但不会像以前那样创建调整大小的图像。 – panoramic 2013-02-28 08:11:20

+0

如果需要调整库的大小,如gd或imagemagic未启用/安装在服务器上。 – 2013-02-28 08:13:15

回答

1

如果需要调整库的大小,如gd或imagemagic未启用/安装在服务器上。

注:我添加了我的评论作为答案,所以问题可以回答。