Archive for the ‘PHP’ Category

パーフェクトPHP

11月 1st, 2011 by kamatari | No Comments | Filed in PHP, パーフェクトPHP

普段PHPを使っているけど全然パーフェクトじゃないので、抜けている所をこれで補っていきたいと思います。

パーフェクトPHP (PERFECT SERIES 3)
小川 雄大 柄沢 聡太郎 橋口 誠
技術評論社
売り上げランキング: 13300

HTTP エラー 500

5月 24th, 2011 by kamatari | No Comments | Filed in PHP, trouble shoot

画像のアップローダを作っていてずっとはまっていたエラー。

HTTP エラー 500(Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfill the request.

おそらく文字コードが原因。

ファイルごと文字コード変換の仕方がすぐに見つからなかったので、一から一気に書き直した。

日本語が通らないけどいいやと、そのまま設定していないscreenを使ったために、大幅に睡眠時間を削る結果となってしまった。><

PHP date関数でエラー発生!

12月 30th, 2010 by kamatari | No Comments | Filed in PHP

WEBページでPHPを使って日付を出そうとしました。

<?php
    echo date("r");
 ?>

するとtimezone設定しないと!という下記のようなメッセージが出てきます。

trict Standards: date() [function.date]:
It is not safe to rely on the systems timezone
settings,please use the date.timezonesetting,
the TZ environment variable or the
date_default_timezone_set() function.・・・

PHP Manualによると
注意:
PHP 5.1.0 以降(日付/時刻 関数が書き直されてから)、タイムゾーンを 正しく設定せずに日付/時刻関数をコールすると E_NOTICE が発生し、またシステムの設定や TZ 環境変数を 使用すると E_WARNING が発生するようになりました。

ということで、デフォルトのタイムゾーンを設定しましょう。
2通り方法があります。

・タイムゾーンをセットする関数を使う方法。
 date_default_timezone_set('Asia/Tokyo');
・php.iniで設定する方法。
 date.timezone = Asia/Tokyo

せっかくなのでphp.iniを設定する方法で解決しましょう。

Macでは、/etcの下に【php.ini.default】があるので、これをコピーして【php.ini】として使います。

このファイルをエディタで開き、date.timezoneの記述を見つけて、Asia/Tokyoを設定すればエラーとはさよならです。

実際にやってみると
ターミナルを開いて下記コマンドでまずコピー。

sudo cp /etc/php.ini.default /etc/php.ini

Emacsで編集します。

sudo emacs php.ini

data.timezoneは、996行目にありました。

セミコロンはコメントアウトなので外してください。

【Buffer is read-only】と表示されて編集出来ないときは、
ctrl+x ctrl+qでread onlyを変更出来ます。

設定が完了したら、Webサーバーを再起動して完了です。
(環境設定からWEB共有のチェックを外して、もう一度チェックでOK)