Red Hat 6にphp-mbstringをインストール

Red Hat 6 に PHP 拡張モジュールの mbstring をインストールしようとしたらハマったのでメモ。 Red Hat 6 では php-mbstring パッケージはオプションレポジトリに分類されているため、明示的にレポジトリを追加しないとインストール出来ない。 デフォルトのレポジトリ デフォルトのレポジトリ状態で php-mbstring をインストールすると、以下のようになる。 実際に、レポジトリを確認すると、、、 オプションレポジトリの追加 php-mbstring は rhel-x86_64-server-optional-6 というレポジトリで管理されているので、このレポジトリを yum の参照先に追加する。 追加するには Webベースでカスタマーポータルから有効にする方法 コマンドラインから有効にする方法 の2つがある。 Web ベース 多くのブログでは、この方法の解決策が書かれている。 ただし、最近サイトがリニューアルされたようなので、画面遷移やキャプチャが古くなっている。 次のナレッジベース通りにやれば、有効にできるとおもわれる。(未検証) How do I subscribe to the Optional channel in RHN or Satellite? https://access.redhat.com/knowledge/solutions/70019 コマンドラインベース 今回はこちらを採用。 RHEL にはコマンドラインからチャンネル(レポジトリ)を購読する rhn-channel(8) というコマンドがあるので、こいつを利用。追加するチャンネルは rhel-x86_64-server-optional-6 。Continue reading “Red Hat 6にphp-mbstringをインストール”

wordpressでSMTPメール送信

WordPress で smtp サーバを利用してメール送信するには WP Mail SMTP というプラグインを使うとよい。 インストール方法 WP Mail SMTP プラグインのページからダウンロード ・/wp-content/plugins 以下に展開 ・管理画面に移動 ・プラグインを Activate ・Activate 後の画面では Setting リンクが表示されている ・メール送信設定画面に移動 ・設定を保存して終了。 何も迷わない。 メモ WordPress 標準のメール処理は次の箇所で定義されている。 wp-includes/pluggable.php 233 if ( !function_exists( ‘wp_mail’ ) ) : 234 /** 235 * Send mail, similar to PHP’s mail 236 * 237 …

[WordPress]Warning: fopen(wp-cron.php?doing_wp_cron)

WordPress 3.0 で投稿すると、下のような警告メッセージが表示されるのに気づく。 Warning: fopen(http://HOST/wp/wp-cron.php?doing_wp_cron) [function.fopen]: failed to open stream: HTTP request failed! in /var/www/wp/wp-includes/class-http.php on line 1045 Warning: Cannot modify header information – headers already sent by (output started at /var/www/wp/wp-includes/class-http.php:1045) in /var/www/wp/wp-includes/functions.php on line 830 Warning: Cannot modify header information – headers already sent by (output started at /var/www/wp/wp-includes/class-http.php:1045) in /var/www/wp/wp-includes/functions.php on lineContinue reading “[WordPress]Warning: fopen(wp-cron.php?doing_wp_cron)”

WordPressでSQLをデバッグ出力

WordPressでSQLをWEB画面上にデバッグ出力する方法。開発時での利用を想定。 ※codex の “wp-config.php” の説明箇所 を参照のこと。 ■修正箇所 ▼wp-config.php 次の設定を追加 define (‘SAVEQUERIES’, true); ▼テーマのフッターファイル(例:wp-content/themes/twentyten/footer.php など) 次のコードを追加 <?php if (current_user_can(‘administrator’)){ global $wpdb; echo “<pre>”; print_r($wpdb->queries); echo “</pre>”; } ?> ■コードの確認 wp-includes/wp-db.php ファイルの wpdb::query において、次の個所で Array に SQL の実行情報が放り込まれている。 if ( defined( ‘SAVEQUERIES’ ) && SAVEQUERIES ) $this->queries[] = array( $query, $this->timer_stop(), $this->get_caller() ); ・timer_stop関数は “Total time spentContinue reading “WordPressでSQLをデバッグ出力”

PHP:Cookieを削除すると値をdeletedに設定

PHPで作られたアプリケーションで、クッキーから情報を取得している箇所があり、そこではあり得ないハズの”deleted“という値が設定されていた。 調べてみると、Cookie削除時のPHPの仕様によるものだった。 アプリ側では、よくあるように次のようにしてCookie を削除していた。 setcookie ( KEY, “”, time()-3600, “/” ); このクッキーを削除する際、PHPでは、内部的には値を deleted に設定し、有効期限を365日+1 秒前に設定する 再現手順 クッキーの用途的に、以下のような手順を踏むと “deleted” な値を取得できる。 ログイン 別タブでログイン後のページを開く クライアントPCの時刻を1年以上昔に設定 片方のタブでログアウトを実行 クッキーの値が “deleted” に設定される ログアウトしていないタブで、ログイン後の画面に遷移 —– 実装の確認 ext/standard/head.c の setCookie 関数の実装から if (value && value_len == 0) { /* * MSIE doesn’t delete a cookie when you set it to a null valueContinue reading “PHP:Cookieを削除すると値をdeletedに設定”