无法通过WordPress上传任何内容

时间:2013-06-27 作者:msvalkon

我最近在笔记本电脑上安装了Wordpress 3.5.2的本地安装,运行ubuntu 12.10。我按照以下指南安装here. 到目前为止,其他一切都正常,除了我无法通过Media Library -> Add New.

当进度条从0上升到100%时,文件似乎正在上传。然而,此后,wordpress无法在任何地方显示缩略图或图像。查看uploads文件夹后,它是空的。所以我认为这是一个权限问题,在遵循了支持论坛的指示后,没有问题。

Wordpress安装到/usr/share/wordpress. 默认情况下,上载文件夹位于/var/lib/wordpress/wp-content/uploads. 我有755 对于wp-content/777 对于uploads. 文件夹的所有者www-data.

我看不到任何错误,文件只是不会出现在任何地方。我可以手动将文件复制到uploads/ 文件夹作为任何用户,因为有权限,我可以查看http://localhost/wordpress/wp-content/uploads/file.jpg 使用web浏览器。我没有安装主题或其他插件。我添加了define(\'WP_DEBUG\', true); 到我的配置文件,但不显示任何错误。

编辑:这里有一行/var/log/apache2/error.log 如果有什么帮助的话。

[Thu Jun 27 22:35:02 2013] [error] [client 127.0.0.1] PHP Warning:  Creating default object from empty value in /usr/share/wordpress/wp-admin/includes/update.php on line 92, referer: http://localhost/wordpress/wp-admin/upload.php
EDIT2:以下是具有权限的目录列表示例

msvalkon@Lunkwill:/var/www$ ll
total 20
drwxr-xr-x  2 www-data www-data 4096 Jun 27 12:21 ./
drwxr-xr-x 15 root     root     4096 Jun  7 10:06 ../
-rw-------  1 www-data www-data   46 Jun 27 12:21 .bash_history
-rw-r--r--  1 root     root      200 Jun 27 11:46 index.php
-rw-r--r--  1 root     root       11 Dec 14  2012 .profile
lrwxrwxrwx  1 msvalkon www-data   21 Jun 20 11:45 wordpress -> /usr/share/wordpress//

msvalkon@Lunkwill:/usr/share/wordpress$ ll
total 164
drwxr-xr-x   5 msvalkon www-data  4096 Jun 27 13:41 ./
drwxr-xr-x 349 root     root     12288 Jun 20 11:51 ../
lrwxrwxrwx   1 msvalkon www-data    23 Sep 13  2012 .htaccess ->  /etc/wordpress/htaccess
-rw-r--r--   1 msvalkon www-data   395 Jan  8  2012 index.php
-rw-r--r--   1 msvalkon www-data  9202 Sep 13  2012 readme.html
-rw-r--r--   1 msvalkon www-data  4264 Dec 14  2011 wp-activate.php
drwxr-xr-x   9 msvalkon www-data  4096 Jun 27 12:48 wp-admin/
--- SNIP ---
drwxr-xr-x   5 msvalkon www-data  4096 Jun 27 12:48 wp-content/


msvalkon@Lunkwill:/var/lib/wordpress$ ll wp-content/
total 28
drwxrwxrwx 7 msvalkon www-data 4096 Jun 27 12:58 ./
drwxrwxrwx 3 msvalkon www-data 4096 Jun  5 18:17 ../
drwxrwxrwx 2 msvalkon www-data 4096 Sep 13  2012 blogs.dir/
drwxrwxrwx 2 msvalkon www-data 4096 Jun 27 12:48 languages/
drwxrwxrwx 2 msvalkon www-data 4096 Jun 27 12:48 plugins/
drwxrwxrwx 2 msvalkon www-data 4096 Jun 27 12:48 themes/
drwxrwxrwx 2 msvalkon www-data 4096 Jun 27 13:17 uploads/

2 个回复
最合适的回答,由SO网友:msvalkon 整理而成

是的,我已经设法解决了这个问题。也许这个答案可以帮助其他再次遇到这个问题的人。当通过ubuntu中的包管理器进行安装时,问题就出在安装过程中。

实际问题在数据库配置中,安装已设置WP_CONTENT_DIR/srv/www/wp-content/localhost, 我甚至不知道存在一个目录。

msvalkon@Lunkwill:/var/www/wordpress$ sudo cat /etc/wordpress/config-localhost.php 
<?php
# Created by /usr/share/doc/wordpress/examples/setup-mysql 
--- SNIP ----
define(\'WP_CONTENT_DIR\', \'/srv/www/wp-content/localhost\');
define(\'WP_DEBUG\', true);
?>
显然.deb 包创建以下目录结构:

/usr/share/wordpress <-- contains a wp-content-folder and symlinks to
                         /var/lib/wordpress/wp-content/uploads and /blogs.dir
/var/lib/wordpress <-- contains a wp-content-folder
/srv/www/wordpress <-- also contains a wp-content-folder
修改的权限/srv/www/wordpress/wp-content 终于成功了。

SO网友:markratledge

777权限在本地主机上还算可以,但在生产中非常糟糕。(您可以临时设置777并尝试上载,如果可以,请将文件夹权限设置回755;这是一些主机配置的解决方法。)

看见http://codex.wordpress.org/Changing_File_Permissions 对于标准WP权限方案。

从该文件:

通常,所有文件都应由web服务器上的用户(ftp)帐户拥有,并且应可由该帐户写入。在共享主机上,文件永远不应由Web服务器进程本身拥有(有时是www、apache或nobody user)。

并查看http://codex.wordpress.org/Hardening_WordPress#File_Permissions 以获取设置安全权限的最佳方法。

结束

相关推荐

Media Manager 3.5自定义选项

我需要更改这些值并隐藏一些默认的media manager附件显示设置。比如将“Link to”设置为none,并将其隐藏,以便注册用户无法更改它。如果我可以从下拉列表中删除“大小”选项“原始大小”,那也太好了。我在google上搜索了一下,对新的媒体管理器进行更改似乎很棘手,因此我目前还没有找到解决方案。。我希望你能帮我一些见解。非常感谢。