Plesk12で構築したWPにSearch-Replace-DB-masterで置換かけようとしてエラー

エラーコードはコチラ

SQLSTATE[HY000] [2005] Unknown MySQL server host ‘localhost:3306’ (1)

dry runができない。

pleskのファイアーウォールを一時的に外してもダメ、その状態でスーパーリロードしてもダメ、wp-configを確認しても間違いはない。

そこで、手動でlocalhost:3306を→localhostに変更して上手くいけたので解決です。スクリーンショット 2016-02-20 15.50.31

 

 

pleskが何処かで干渉してるんでしょうけど、とりあえずうまく行ったのでよし(すっとぼけ

twitterの電話認証で「電話番号を登録できませんでした。再度お試しください。」が何度も

スーパーリロードしてキャッシュからクリアしましょう!

何故か上手く行かなかったことは、キャッシュすれば何故か上手くいくよ。これ教訓だね。

CentOS5にphpmyadmin入れたら真っ白

phpmyadminを入れてアクセスしたら真っ白。

php.iniのdisplay_errors = Onを設定したら

Unexpected character in input: ‘\’ (ASCII=92)
phpMyAdmin/index.php on line 702
というログ。
phpを5.4にしました。
すると、画面上にはPHP 5.5+ is required
ちょっと苦笑して、アップグレードしてちゃんと表示されました。

googleのAMP入れてみたらFATAL ERRORでますた

PHP Fatal error: Call to undefined function get_site_icon_url() in /var/www/ひみちゅ/wp-content/plugins/amp/includes/class-amp-post-template.php on line 40

なんか、WP関数っぽいし、WPは古いままだし。アップデートリスクも少ないサイトなので、WPをUD。しかし下記のログが追加されてたたたた

PHP Fatal error:  Class ‘DOMDocument’ not found in /var/www/ ひみちゅ/wp-content/plugins/amp/includes/utils/class-amp-dom-utils.php on line 7

yum install php-xml

これで解決!

WPの引っ越しでwp-adminにアクセスできない件

サーバーのお引越しをしてすぐ、sqlのインポートなどは上手くいき、
あとは管理画面にログインするのみ。
しかしブラウザのメッセージは500エラー

アドレスバーは

ドメイン/wp-admin/upgrade.php?_wp_http_referer=%2Fwp-admin%2F

該当時間のlogを見てみると
mod_fcgid: stderr: PHP Fatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 30720 bytes)

40Mもメモリ食うんすか!!と思いながらMemory Limitを64Mにあげて解決。

データーベースのアップデートを最初に求められました。うーん、怖かったwww

Search-Replace-DB-masterでのエラー

The script encountered an error while running an AJAX request.If you are using your hosts file to map a domain try browsing via the IP address directly.If you are still running into problems we recommend trying the CLI script bundled with this package.See the README for details.

このエラーが出て、スクリプトが止まる。Phpmyadminから該当のワードを検索してヒット数の推移をみながら処理落ちなのか、
遅いながらも進んでいるか確認。進んでいなかったので、震えながらスクリプトをストップ。

シリアライズとの兼ね合いで、あんまり良くなさそうだけど、phpMyadminから置換を行いました。

UPDATE wp_options SET option_value=REPLACE(option_value,”旧ドメイン”,”新ドメイン”);
UPDATE wp_posts SET post_content=REPLACE(post_content,”旧ドメイン”,”新ドメイン”);
UPDATE wp_posts SET guid=REPLACE(guid,”旧ドメイン”,”新ドメイン”);
UPDATE wp_postmeta SET meta_value=REPLACE(meta_value,”旧ドメイン”,”新ドメイン”)

その次は上手くログイン画面に飛んでくれないエラー
URLのパラメーターはこんな感じ、、、

upgrade.php?_wp_http_referer=%2Fwp-admin%2F

plesk12でFTPのパッシブ接続ができない件

まずはpleskから一時的にSSHポートの許可を。
サーバータブ>拡張>firewall
GUIが直感的でわかりやすいので略。

SSH 経由でサーバシェルログインしてrootに。
ProFTPD 構成ファイルを編集します。

コマンド vi /etc/proftpd.conf を実行。

globalセクション内に以下の行を追加します。

PassivePorts 49152 65534

ファイルを保存して再起動

/etc/rc.d/init.d/xinetd restart
(後日追記:上記コマンドが効かなかったが有効化は出来ました。
pleskのバージョンは12で、特に環境も変わらないはずなので謎ですがw)

Parallels Plesk に「admin」でログインし、
「サーバ管理」から[拡張]>[ファイアウォール]を選択し、
[Plesk ファイアウォールルールを変更]をクリックします。
[カスタムルールの追加]をクリックします。以下を指定します。

ルールの名前(任意の名前で結構です)
方向:[着信]を選択します。
アクション:[許可]を選択します。
ポート:[ポートまたはポート範囲の追加]入力ボックスに、
49152-65534 と入力します。
[TCP]オプションを選択したまま[追加]をクリックします。

[OK]をクリックします。
[変更内容を適用]をクリックして、[アクティブ化]をクリックします。

【悲劇】 if(!isset($GLOBALS[“\x61\156\x75\156\x61”]))とかいう謎のコードが挿入される

古いバージョンのままだいぶ放置しているWPを覗くと表示が崩れまくり。

ちょっと調査したところプラグイン真っ白、顔面真っ青になりました。
それで調べていると

<?php if(!isset($GLOBALS["\x61\156\x75\156\x61"]))

から続く長いコードが挿入される。
にわか目にも何か変換されているのがわかったのでとりあえず
phpOnlineDecode

に投げてみること


php if (!isset($GLOBALS["anuna"])) {
$ua = strtolower($_SERVER["HTTP_USER_AGENT"]);

ということで追跡調査と、対応策を今後書いていきたい。

SSHでつなげてタイムスタンプを見てみたが、そのまま。どういう仕組みで書き換え(挿入)されたのか。うーん、わからん。怪しいw

アウトプットしたいことがたくさんあるんだけどね
結局こういう新しいことの対策を取らねばならぬ、ぐぬぬ。

MySQLがどうしても苦手で、、、

WordPressを触り始めて1年位経った。

サイトを運営するというよりは知り合いからデザインやシステムの依頼を受けてご報酬をいただくというスタイル。

素人に毛が生えた程度で良いので、、、という前提でvpsにWP構築したりもした。
(コマンドラインの概念はUBuntu触っていたので大して抵抗もなく覚えられた)

その中でどうしても概念的に慣れないのがMySQL。WordPressの引っ越しをした際などにデータ構造は理解したものの
さらなる理解と経験が必要だなと思う日々。
SQL文を手打ちで発行することなんてほとんどしたことがない。

そういった引け目を感じる一方で数万レコードをサクサクさばけるMySQLを凄いと思っていたり。

これをFxの検証に生かせないかと思ってはや半年、やってみることにしました。
ただ、Fxではなく競馬の方で。

Fxの方はmql4時代にいやというほどひたすら触っていてもううんざりwww
というかmql5にアップっグレードして触っていないしFXはそういった最適化されたソフトがあるので
それでやればいいかと。

競馬の方は裁判になった30億男の件がずっと気になっていた。

回収率は105%程度だという。しかし毎週のようにチャンスがあるしオッズもいくらでもあげられる。
相場の世界で言うサーキットブレーカーのようなこともなく借金しなくても済むし。
FXの方は震災ショックやスイスショック(最低ライン設定した時のも、撤廃しいた時のも)、日銀介入など色々と見てきましたのでね。なんというか怖いんですよねw

乱文ですが、要はMySQLに競馬のデーターを突っ込んで色々と解析、このサイトにまとめていきますよ〜ということです。

xmlrpc.phpを叩いてカテゴリ一覧を表示する

変数名がカテゴリ一覧についてなので末尾にcもしくはcaがついています。
見難くて申し訳ないです。

<?php // inctioのライブラリ呼び出し
include_once('./IXR_Library.php');
// example.comは投稿先アドレスに変える
$clientc = 'http://hogehoge.com/xmlrpc.php';
$clientc = new IXR_Client($clientc);

$statusc = $clientc -> query(
    "wp.getCategories", // 使うAPIを指定wp.getTagsは全部のタグを取得
    1, // blog ID: 通常は1、マルチサイト時変更
    "hogeuser", // ユーザー名
    "hogepass" // パスワード
    );

if (!$statusc) {
    die('Something went wrong - ' . $client -> getErrorCode() . ' : ' . $client -> getErrorMessage());
} else {
    //中身を配列に__getResponse();を探しだすのに苦労した
    $clic = $clientc -> getResponse();

    //念のため中身を覗く__後にコメントアウトor削除
    echo "<pre>";
    var_dump($clic);
    echo "</pre>";

    foreach($clic as $key => $clica) {
        echo $clica["categoryName"];
    }
}

以下記事を参考にさせて頂きました。ジャンピング土下座です。

[PHP]XML-RPCを利用するためのライブラリ「The Incutio XML-RPC Library for PHP」
getResponse();を見つけたからは道が開けた。

WordPressへXML-RPCとPHPで外部投稿(基本編)
基本的な事項を勉強させて頂きました。

あと、英語なので上手く読めてないけど非推奨、もしくは統合されてるっぽいのもありますね。
参考:codex

自分用メモ|パーマリンクを設定したか手動で確認-sublimetextで正規表現置換

wordpressのパーマリンクをちゃんと設定したか確認する方法。
多分プラグインもあるんだろうけど、単発でのチェックだったので手動で、かつ最短の方法でやってみた。

きっかけはクイック編集の時、通信はしてないな。ということはソースレベルで見れば解決。

まず投稿一覧を表示して、上の折りたたみ設定バーで表示件数を決める。
そのままソースを表示させてsublimetextにコピー。
そのまま添付画像の様にやれば、タイトルとパーマリンクが二行選択されるので
そのまま全選択、新たにコピペ。

あとは一括置換したしてわかりやすくする。
正規表現を復習する意味で忘備録。

スクリーンショット 2015-09-30 17.48.54

自分用メモ|[error] server reached MaxClients setting, consider raising the MaxClients settingがでた

サーバーがやたら重たくてtopコマンドを打ってみるとapacheのプロセスが溜まりまくりった際の対応メモ。

サーバーに置いているものはWPサイト3つ。アクセスは100pv行かないくらいの小規模なもの。
それと自分のためのphpで作られたツール2つ。

さて、本題ですが、apacheのエラーログを覗いてみる。
[error] server reached MaxClients setting, consider raising the MaxClients setting

という文字が。ぐぐってみると、同時接続数を上げる必要があるみたい。ただ設定する際の最適値がわからず。追求の必要ありですね。パラメーター値は以下のとおり。

先発ブログを見た感じ、同時接続256とかもあったりして結構行けるのかもしれない。
私のサーバーではそれぞれ10だったのでかなり先発ブログの方と開きがあるので取り敢えず64にしてみる。
一応解決。

前述の最適値を調べて見る必要があるために、今回はここまで。