まるむしアンテナ

自作に改造、修理、メンテナンス...とりあえずなんでも自分でやってみよう!

By

レンタルサーバー(XREA) PHPのバージョンアップでHPが文字化けしてしまった。

レンタルサーバー(XREA)の更新でHPが文字化けしてしまった。
XREAのサーバーは、十数年前から借りておりその流れで現在にいたるのだが、
最近サーバーが更新された様子、それは喜ばしいことなのだが、
設置してあるHPが全ページ文字化けをしてしまった。
よく見ると漢字が化けており、キャラクターセットが絡んでいると一目でわかった。
昔作ったサイトで、キャラクターセットにSift_JISを使ってPHPで書いてあるんだよね…

念のためXREAに問い合わせてみると、適切な回答が得られたので参考までにここに残しておきます。

誠に恐れ入りますが、PHP 5.6 以上では、デフォルト文字コードの設定がそれ以前より厳しくなっております。
現在、*****@s**.xrea.com 上の各サイトは、PHP 7.0 で動作する設定かと存じますが、その場合、
/public_html/.fast-cgi-bin/php70.ini
に、「default_charset = “”」の一行を追記するか、各 PHP スクリプトと同階層に「.user.ini」を設置し、「default_charset = “”」を記載いただければ解消される可能性があるかと存じます。

ということでした。
今回は、
/public_html/.fast-cgi-bin/php70.ini
への書き足しで無事復旧しました。
参考まで。

By

Netbeansのフォントが汚いので綺麗にしてみた。

Netbeansのフォントが汚いので綺麗にしてみた。

PHPの開発環境に使用しているNetbeansですが、
LinuxMintの環境にインストルーしてみたところフォントのジャギーが酷くてとてもソースを読む気が起きない。

フォントの種類の変更しても改善する様子も無いので改善策を調べたところ
フォントにアンチエイリアスをかける簡単な方法があるようなのでメモっておきます。

その前に。。。適用前と適用後の見た目の変化です。

non
適用前
on
適用後

綺麗になりますね。
ずいぶんと見やすくなりました。

Read More

By

手早く軽量な日本語PHP開発環境を用意する LinuxBean+NetBeans+apache2+Mysql

非力なマシンでも、とりあえず日本語が使えてPHPのコードが書けてデバッグテストできる環境を手早く用意する手順をメモっておきます。
参考にしてください。
なお最速というならコマンドラインからの操作が速いのですが、初心者向けにコマンドラインからの操作は最小限に進めます。(というか単に好みの問題^^;)

Read More

By

php file_get_contents で  failed to open stream でエラーになる件

file_get_contents で  failed to open stream でエラーになる件のメモ

phpでURLを保存した外部ファイルよりURLを読み込んでソースを取得するプログラムにて、
実在するURLなのにエラーが出てしまう。

Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Name or service not known in XXXXXXXXXXXXXXXXXXXXXXXXXXXXX  on line XX

Warning: file_get_contents(http://antenna.infomixer.net ) [function.file-get-contents]: failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in XXXXXXXXXXXXXXXXXXXXXXXXXXXXX on line XX

プログラムは、
$handle = fopen(dirname(__FILE__).”/inputdata.txt”, “r”);
if ($handle) {
    while (($buffer = fgets($handle, 4096)) !== false) {
        $source=file_get_contents(“{$buffer}”);
                echo $source;
    }
    if (!feof($handle)) {
        echo “Error: unexpected fgets() fail\n”;
    }
    fclose($handle);
}
こんな感じだ。
直接URLを記述するとなぜだエラーが出ない。
なんでだ?ってことになりしばし悩むが、よーくみるとURLの後ろに半角スペースが!。

どうも$bufferに読み込む際に入ってしまうようだ。
だとするとスペースではなく、LFなのかなぁ?
とりあえずtrimしてみる

        $source=file_get_contents(“{$buffer}”);
の直前に
        $buffer=trim($buffer);
としてみるとエラーは出なくなった。
とりあえずはこれで良しとしよう。^^;

By

WordPress まるむしアンテナの検索機能が死んでいた! 

WordPress まるむしアンテナの検索機能が死んでいた!

何気にブログ右上の検索機能を使ってみると、
スクリーンショット_031914_120445_AM

はぅ… ありゃりゃ なんてこった!

サーバー替えて時からだなこりゃ。
どうやら mbstring の入れ忘れのようだ。

コマンドラインからYUMでインストールします。

んで無事復活。 よかった^^

By

MySQL WordPressの投稿済み記事を一括修正するSQL

WordPressにかぎらず、DrupalなどDBを利用したブログシステムでは、投稿記事がテーブルに格納されている。
WORDPRESSの投稿記事の文中に定型文として挿入している文字を修正したい場合、
エクスポート/インポートでテキスト修正する方法もありますが、
件数が多すぎてエラーになったり、作業に時間がかかってしまったりで結構苦労します。
ところがこのようにSQL文で修正すると、作業はDB内で完結するのであっという間に終わりますよ。
wordpressの本文は、wp_posts というテーブルの post_content のカラムに格納されています。
UPDATE wp_posts SET post_content=REPLACE (post_content,’変更前文字列’,’変更後文字列’)

なお、ブログシステムを稼働させたままシステムデータを手動更新する事は
システムに矛盾を生じさせる原因につながります。
当然のことながらメンテナンスモードにしてから作業するとか、
失敗してもいいようにバックアップを取ってから作業するなどの配慮が必要ですよ。

By

phpの実行ログに大量のエラーが…PHP Deprecated: Function split() is deprecated in…

久しぶりにhttpdのエラーログを見るとメガ単位のエラーが溜まっていた^^;
ログの内容のほとんどが、
PHP Deprecated: Function split() is deprecated in ….

どうやらphpのバージョンを上げたのが原因のようだ。
どうもsplit (文字列を指定文字で分割する関数) は非推奨となったらしい。
しかし対策は簡単だった。
splitexplodeに書き換えるだけ。
面倒なことにならなくて良かった。^^
※ちらっと調べたところによると、explodeでは正規化表現は使えないらしい。
 ちょっと高度な使い方をしている人は、変更の前に仕様の違いを確認した方が良さそうです。
http://php.net/manual/ja/function.explode.php
っと思ったら正規化表現を使うなら preg_split がそのまま使えそうですね。
http://php.net/manual/ja/function.preg-split.php