Categories
學習筆記

DirectAdmin下解决WordPress全新安装出现500(404)错误

问题分析:
1 已确定所有wordpress文件的用户和用户组没有问题
2 已确定所有wordpress文件符合文件权限644 文件夹权限755的php-cgi环境规格
3 错误日志里存在 Premature end of script headers: setup-config.php
4 安装过程中正确输入数据库,却出现含有404错误提示的500错误 参考下面
1

基本上,一看到500错误+“Premature end of script headers”

suphp对于“Premature end of script headers”的解释是
你的环境同时安装了php-cli和php-cgi 且配置成了suphp 但调用了php-cli

我很自然地想到是suphp的问题,但其实问题并不在suphp
因为其实关键就在图中不起眼的404错误

问题就在setup-config.php里面用了个函数 叫wp_remote_get
这个函数访问http并没有问题 但https就爆了 这是为什么呢?
其实原因就在wp_remote_get这个函数会呼叫WP_http这个Object
而他的工作方式是使用curl进行的 所以如果curl不支持ssl 则自然无法正常使用
php默认的curl是不带ssl支持的 如果你遇上上述的问题
就代表你在directadmin里没有启用curl支持 所以你必须开启支持 并编译curl

方法如下:

grep curl /usr/local/directadmin/custombuild/options.conf | awk -F '=' '{ if($2=="no") { system("sed -i -e 's/curl=no/curl=yes/g' /usr/local/directadmin/custombuild/options.conf");system("/usr/local/directadmin/custombuild/build curl") }}'

此命令会自动判断是否已经启用curl 若还未启用则启用并编译 完成后问题就解决了

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.