普段PHPを使っているけど全然パーフェクトじゃないので、抜けている所をこれで補っていきたいと思います。
技術評論社
売り上げランキング: 13300
普段PHPを使っているけど全然パーフェクトじゃないので、抜けている所をこれで補っていきたいと思います。
画像のアップローダを作っていてずっとはまっていたエラー。
HTTP エラー 500(Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfill the request.
おそらく文字コードが原因。
ファイルごと文字コード変換の仕方がすぐに見つからなかったので、一から一気に書き直した。
日本語が通らないけどいいやと、そのまま設定していないscreenを使ったために、大幅に睡眠時間を削る結果となってしまった。><
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行目にありました。
.png)
セミコロンはコメントアウトなので外してください。
【Buffer is read-only】と表示されて編集出来ないときは、
ctrl+x ctrl+qでread onlyを変更出来ます。
設定が完了したら、Webサーバーを再起動して完了です。
(環境設定からWEB共有のチェックを外して、もう一度チェックでOK)