LoginSignup
1
1

More than 5 years have passed since last update.

PHPでワードプレスを投稿するときにエラー

Last updated at Posted at 2017-05-13

やろうとしたこと

  • 自作の入力フォームからWordPress記事をPHPで投稿
  • 投稿にはIXR_Library.php を利用

エラー内容

+error: IXR_Error {#478 ▼
  +code: -32300
  +message: "transport error - could not open socket"
  • ローカルマシンでは投稿に成功。ただし、AWSではエラー
  • AWSでは上記のエラー

結論

xmlrpc.phpにアクセスできていなかった。

公開中のマシンからドメイン名でアクセスができていなかったことが原因らしい。
ローカル・ループバック・アドレスでアクセスしたら解決

  • ダメ new IXR_Client("サーバー名/WPディレクトリ/xmlrpc.php");
  • OK  new IXR_Client("127.0.0.1/WPディレクトリ/xmlrpc.php");

調査

No 環境 投稿先 結果
1 ローカル ローカルのWP OK
2 ローカル AWSのWP OK
3 AWS ローカルのWP アクセス不可
4 AWS AWSのWP NG

ーーーー以下、おまけーーーー

環境

  • Laravel 5.1.45 (LTS)
  • PHP 7.1.2-3

ステージング環境(AWS)

  • Laravel 5.1.35 (LTS)
  • PHP 5.5.38 (cli)

ぐぐってみた

【PHP】XML-RPCで「-32300:transport error - could not open socket」エラーが出る
⇒php5.2.3以上かどうか or Basic認証をかけているとダメらしい

https://disqus.com/home/discussion/hurricanesoftwares/wordpress_xmlrpc_8211_posting_content_from_outside_wordpress/
⇒wordpressを更新 or php.iniの"memory_limit" を拡張

自動投稿の参考サイト

つまづいたこと

  • laravelで実装。インスタンス生成時に「物理ファイル名」=「クラス名」でないとインスタンスが生成できず、困った。配布元のIXR_Libraryにクラス:IXR_Library を作成して、コンストラクタで各クラスを呼び出して対応した
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1