Wordpress NginxとPHP-FPMを使用して https://saskia.photo にある自分のサーバーにインストールしました
インストールは正常に機能しますが、XML-RPC(Jetpackおよび電話アプリで使用)は次のエラーをスローします。
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value><int>-32700</int></value>
</member>
<member>
<name>faultString</name>
<value><string>parse error. not well formed</string></value>
</member>
</struct>
</value>
</fault>
</methodResponse>
あなたは実行することで自分でエラーを見ることができます
curl -A "Jetpack by WordPress.com" -is -H 'Content-Type: text/xml' --data '<?xml version="1.0"?><methodCall><methodName>demo.sayHello</methodName><params></params></methodCall>' 'https://saskia.photo/xmlrpc.php' && echo
私は Jetpackのトラブルシューティングページ を試してみましたが、うまくいきませんでした。
返されたXMLエラーは、クライアント要求XMLがnginxとPHPの間のどこかで破損しているため、解析できないようになっていると推測しています。
これが私のnginx設定ファイルです
server {
listen 80;
listen [::]:80;
server_name saskia.photo;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name saskia.photo;
ssl_certificate /etc/letsencrypt/live/saskia.photo/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/saskia.photo/privkey.pem;
root /srv/wordpress/;
charset utf-8;
client_max_body_size 64M;
# Deny access to any files with a .php extension in the uploads directory
location ~* /(?:uploads|files)/.*\.php$ {
deny all;
}
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}
location ~* \.(gif|jpg|jpeg|png|css|js)$ {
expires max;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php/wordpress.sock;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include fastcgi_params;
}
}
誰かがこのような問題を見たことがありますか、または私の構成ファイルで問題を見つけることができますか?
拡張機能のようですphp-xml
およびphp-xmlrpc
がインストールされていません。
それらをインストールします:
apt-get install php-xml php-xmlrpc
または(CentOS、RHELなど)
yum install php-xml php-xmlrpc
SuSE
zypper install php-xml php-xmlrpc