我的大概步骤是这样的......
用Alibaba建了wordpress,后台能进,然后再用阿里云自带的快速建FTP弄了一个,能在目录下看到测试文件,下载插件的时候跳出了要输入FTP用户名密码,输入之后显示Installation failed: Unable to locate WordPress content directory (wp-content),跟网上的教程在wp-config加入了下面代码:
define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);
和
if(is_admin()) {
add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
define( 'FS_CHMOD_DIR', 0751 );
}
然后似乎能下载插件了,下载了个主题,然后网站就彻底崩坏了,一直显示
在之后修改了plugins的文件夹名也没用,有没有大神知道这种情况要怎么办啊; ;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您描述的问题,WordPress在下载插件或主题时提示需要FTP登录凭证,并且在修改wp-config.php
文件后网站崩溃,这通常与文件权限配置、用户权限问题或代码错误有关。以下是详细的解决方案,帮助您逐步排查和修复问题:
WordPress对文件和目录的权限要求非常严格,错误的权限设置可能导致无法正常访问或写入文件。
运行以下命令,将WordPress根目录及其子目录的权限设置为正确的值:
sudo chown -R nginx:nginx /usr/share/nginx/html/wordpress
sudo chmod -R 755 /usr/share/nginx/html/wordpress
sudo chmod -R 775 /usr/share/nginx/html/wordpress/wp-content
说明:
- chown
命令将文件所有者更改为Nginx用户(假设您使用的是Nginx服务器)。如果使用Apache,请将nginx
替换为www-data
。 - chmod
命令确保wp-content
目录具有写权限,以便WordPress可以上传文件。
确保wp-config.php
文件的权限为644:
sudo chmod 644 /usr/share/nginx/html/wordpress/wp-config.php
wp-config.php
文件的修改您提到在wp-config.php
中添加了以下代码:
define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);
以及:
if(is_admin()) {
add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
define( 'FS_CHMOD_DIR', 0751 );
}
create_function
函数已被PHP废弃,可能导致代码执行失败。FS_CHMOD_DIR
两次,可能会引发冲突。FS_CHMOD_DIR
定义,仅保留以下代码:
define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0755);
define("FS_CHMOD_FILE", 0644);
删除create_function
相关代码,避免使用已废弃的函数。
保存文件后,重启Web服务以应用更改:
sudo systemctl restart nginx
您提到下载了一个主题后网站崩溃,可能是该主题存在兼容性问题或代码错误。
wp-content
目录:
cd /usr/share/nginx/html/wordpress/wp-content
plugins
和themes
目录重命名,强制禁用所有插件和主题:
mv plugins plugins_backup
mv themes themes_backup
mkdir plugins
mkdir themes
您提到使用阿里云快速搭建的FTP服务,可能存在FTP用户权限不足的问题。
/usr/share/nginx/html/wordpress
,则需在vsftpd.conf
中设置:
local_root=/usr/share/nginx/html/wordpress
wp-content
目录的写权限:
sudo chown -R ftpuser:ftpuser /usr/share/nginx/html/wordpress/wp-content
sudo chmod -R 775 /usr/share/nginx/html/wordpress/wp-content
sudo systemctl restart vsftpd
如果上述步骤仍未解决问题,可以通过查看日志文件定位具体错误。
sudo tail -n 50 /var/log/nginx/error.log
sudo tail -n 50 /var/log/php-fpm/error.log
如果您在操作前创建了备份,可以通过以下步骤恢复: 1. 将备份文件上传到服务器。 2. 解压并覆盖现有WordPress文件:
tar -xzvf backup.tar.gz -C /usr/share/nginx/html/wordpress
通过以上步骤,您可以逐步排查并解决WordPress崩溃的问题。重点在于: - 正确设置文件权限,确保WordPress能够正常读写文件。 - 清理wp-config.php
中的错误代码,避免冲突。 - 禁用冲突的插件和主题,定位问题根源。 - 检查FTP配置,确保用户权限正确。
如果问题仍未解决,请提供具体的错误日志信息,以便进一步分析。