Tag Archives: PHP

php.iniに気をつけろ!

0
Filed under トラブルシューティング
Tagged as , ,

localhostで使っているapacheの設定がどこかおかしいらしくて、HTMLでUTF-8に設定しても強制的にShift-JISになる現象が発生していて困っていた。
Firefox + Live HTTP headersで調べてみても、Shift-JISが帰ってきていることは確かなのです。
しばらく放って置いたのですが、今日、ちょっと時間が空いたのと、解決しないとダメな状況になったので追求してみました。

まずはhttpd.conf

設定はhttpd.confにあり、ということで、ここを調査。
でも、AddDefaultCharsetは設定していない。
ちがうのかー。

次は.htaccess

ということで、どこかローカルで設定してしまっているのかな?と.htaccessを調べた。
でも同じディレクトリには.htaccessは無い。
途中のディレクトリに隠れているかも?ということで、ルートディレクトリに置いてみた。
しかし、変わらず!
いっそのこと、逆に、.htaccessを置いて、そこでUTF-8にしてしまおうか?と泥沼な対応となるのは分かっているのですが、トライしてみた。
テストしているhtmlのあるディレクトリに、AddDefaultCharset UTF-8 と書いた.htaccessを置いて、apacheを再起動してみた。
しかし!これでもダメ!何?!何なのいったい!
と発狂寸前になるが、冷静に考えると、こういう設定を書き換えたモノをもう一つ思い出した。

php.iniがいたね

それが、PHPの初期設定ファイルであるphp.ini

あー、ありました。怪しいところが。
PHPの勉強にと、ある本を見ながら盲目的に設定していたところが超怪しい。
mbstring.internal_encoding = SJIS
mbstring.http_output = SJIS

上記の2行をコメントアウトして、apache再起動!
これで直りました。とさ。


[AD]

↓がっかり度はこのくらい orz

ORZアシュトレイ WH AR-991WH

ORZアシュトレイ WH AR-991WH

カテゴリ:ホーム&キッチン


↓先生、がっかり orz

ラジオCD“スウィートジャンクション”バイパスシリーズ『先生、がっかり orz』 / Array / CD ( Music )

イーエス・エンターテインメント( 2008-05-02 )

定価: ( 中古価格 ¥ 263 より )


PHPでGET/POSTメソッド、そして連想配列

0
Filed under PHP
Tagged as

なんだかんだで2ヶ月前のこのエントリ以来PHPのエントリを書いていない。
実際、今月頭にPC環境の移行をしてからついこないだまでPHPを入れてすらいませんでした。
と、まぁ、こんな感じで、ゆるーくPHPのメモを書いてみます。世の中にPHPドキュメントはごまんとあるので、あくまで自分向けのメモとなります。

GET/POSTメソッドの値を受け取る手順

PHPでGET/POSTメソッドで渡された値を受け取るのは簡単で、1行で説明できます。

  • $_GET, $_POSTという連想配列に値が格納されている。

終わり。
超シンプルなサンプルは次のようになります。

1
2
// hoge.php?foo=bar&foo2=barbar
echo $_GET["foo2"]; // →"barbar"

GET or POST?

値の受け渡しがGETメソッドなのか、POSTメソッドなのかは、$_SERVER[‘REQUEST_METHOD’]という変数に格納されているようです。

1
2
3
4
5
6
7
8
9
$req_method = $_SERVER['REQUEST_METHOD'];
if( $req_method == "GET" ){
  // GETメソッドへの対応.
  echo "check for GET<br>\n";
}
else{
  // POSTメソッドへの対応.
  echo "check for POST<br>\n";
}

連想配列をまわす-foreach

$_GET、$_POSTというのは連想配列な訳ですが、PHP初心者的には、この連想配列の中身を調べる手順の方が重要なメモとなります。
PHPにはいろいろと便利そうな関数が用意されているようですが、foreachで回すのがおそらくシンプルで覚えやすい方法なので、まずはforeachで回してみます。

1
2
3
4
5
6
7
8
// 通常の配列.
foreach($normal_array as $value){
  echo "$value<br>\n";
}
// 連想配列.
foreach($_GET as $key => $value){
  echo "$key -- $value<br>\n";
}

連想配列をまわす-while

whileで回す方法もあったのですが、これは一見して意味が分かりにくい。each関数で処理するようですが、メモ程度に押さえておくだけにしよう。

1
2
3
4
5
6
7
8
// 通常の配列.
while($value = each($normal_array)){
  echo "$value<br>\n";
}
// 連想配列.
while(list($key, $value) = each($_GET)){
  echo "$key -- $value<br>\n";
}

連想配列をまわす-その他

PHPには他にも配列操作用の関数があれこれ用意してありますが、まぁ、無理して使うこともなさそうな気がします。一応、便利な使い道もありそうなarray_walkだけはメモしておく。

1
2
3
4
function print_values( $value, $key ){
  echo "$key -- $value<br>\n";
}
array_walk( $_GET, 'print_values' );

今日はここまで。

PHPはじめます

1
Filed under PHP
Tagged as

PHPをやり始めるまでの長い道のり

PHPって基本的にサーバ上で動作させる言語なので、なんか取っつきにくくてやっていなかった。
以前、スタンドアローンで使うアプリをPHPで書いて、それを動かすためだけにApacheを入れている人を見て、それにものすごい違和感を感じ、その違和感をトラウマとしてPHPを避けるようになった気がする。
でも今なら、その状態は、実行環境の一部でありVMの一部(あわよくばライブラリ的発想)としてApacheを使っていた、と考えることで一応納得できる。
しかし、そんな昔話はどうでもよくて、今はサーバで動作させるアプリをいろいろ書きたくなってきて、それにはやっぱり「とりあえずPHPで」という状況が便利そうなことに気づいて、また、PHPを知らないことによる弊害(具体的には「仕事が少ない」という状態)も細かく積み重なってきて、もう一歩先へ踏み出すためにPHPに手を出してみよう、と思った次第です。
とか思ったのは去年末なんだけど、もう今年も半分過ぎ、ようやくちょっと手を出せる感じになったので、基本的なところから勉強を進め、このblogにもその過程をメモしていきたいと思います。

コメント

まず、コメント表記ですが、これはC言語などと同じ。”//”以降、と”/*”,”*/”で囲まれた箇所がコメントアウトされます。
これは、C言語系(C, C++, C#, Objective-C, etc)、Java、ECMAScript系(JavaScript, ActionScript, etc)と同様なので分かりやすいです。
逆に、PerlやRuby、Pythonなどは独自の記法なので、LL系の中では珍しく感じてしまいます。

テスト

なんか文字列を出力して今回のエントリを終わりたいと思います。
下記コードをhello.phpというファイル名で保存し、ブラウザから見てみます。

1
2
3
4
5
6
7
8
<?php
  // いつものあれ.
  /*
  echo("へろーわーるど");
  */
  $ret = print("OK"); // printは値を返す.
  echo("Hello, PHP. $ret"); // echoは値を返さない.
?>

さくらのレンタルサーバにWordPressを入れてみた

0
Filed under WordPress
Tagged as , , ,

「さくらのレンタルサーバ」にWordPressをインストールしてみました。WordPressのことは知っていたけど、自分でもちょっと触ってみたいなと思い、そのテストも兼ねています。
まぁ、本当に簡単だったので、インストールメモを書くほどのことでもない気もしますが、「楽だった」という情報もアリかな、と思いメモしておきます。
sakura_wordpress

PHP, MySQLが必要

WordPressですが、PHPとMySQLを使うようなので、「さくらのレンタルサーバ」の場合、一番安価な「ライト」プランではPHP,MySQLが使用できないので、WordPressをインストールできません。
ということで、「スタンダード」プラン以上の契約が必要です。

ダウンロード

まず、下記のサイトからzipパッケージをダウンロードします。

展開したファイル群をそのままFTPで適当なディレクトリにアップします。
今回は簡単にパスを設定するために、http://www.example.com/index.php となるようにアップしました。同じディレクトリに、phpファイル群と、wp-admin, wp-content, wp-includesディレクトリもそのままアップします。
約7MByteのファイルサイズとなります。

ログイン

次に、データベースの設定を確認するために、さくらのサーバコントロールパネルにログインします。
左側のメニューから「データベースの設定」を選択します。
データベースバージョンが「標準[MySQL5.1](推奨)となっているのでそのまま、データベース接続用パスワードを設定します
データベースが設定されたので、設定情報が表示されると思います。この画面の中の「データベースサーバ」と書かれている項目をメモしておきます。

あとはウェブ上で設定

http://www.example.com/wp-admin/install.php に相当するURLにアクセスすると、wp-config.phpの生成ウィザードが始まるので、メモしておいたサーバ設定を次のように対応する項目に入力します。

  • “データベース名” .. 【データベース名】
  • “ユーザー名” .. 【データベースユーザ名】
  • “パスワード” .. 【データベース接続用パスワード】
  • “データベースのホスト名” .. 【データベースサーバ】
  • “テーブル接頭辞” .. “wp_”のまま

最後に、ブログタイトルとメールアドレスを入力して完了。もちろんタイトルなどは後から変更できます。

以上

以上でインストールは終わりました。
自分の場合、全く滞りなく終わったので、ちょっと驚いたくらいでした。
次にやることはデザインを変えたくなることだと思うのですが、WordPressのテーマはいろいろ公開されているようなので、早速うれしい悩みの種が出てきます。
また、プラグインもいろいろあるようなので、これも折を見て調査してみたいと思います。