php.iniのoutput_buffering = 4096

愛機をMacBookAirに変えてMAMPを設置して開発してたらまたsessionのエラー頻発。。。
結局原因はphp.iniファイルの設定不足。
output_bufferingの設定をしてなかたので

Cannot modify header information – headers already sent by…

なんて出てた。
ってかMAMP入れてからphp.iniの設定してなかった。。。

しかしはじめ/Applications/MAMP/conf/php5.4.4/php.ini
のファイルをいじってたけど、全然変更できないので色々調べてたらファイルの場所が違ってた。
MAMPのphpinfoで確認したら /Applications/MAMP/bin/php/php5.4.4/conf/php.ini

なんで同じようなファイルがあるのかまでは調べてませんが、こちらの方のファイルを変更したら反映されました。

んで肝心のエラーも解消!

これで安心して開発を進めることができます。

 

BOMの爆死から復活!

A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information – headers already sent by (output started at /…../config/config.php:1)
Filename: libraries/Session.php
Line Number: 671

以前の投稿でハマった事象↑ようやく解決しました。

開発環境:windowsXP xampp MySQL codeigniter さくらインターネット(スタンダードプラン)

原因はエディターソフトの設定。

terapadをつかってコーディングしてたのですが、「UTF-8」で保存する設定がまずかった様です。「UTF-8」の設定だとBOM(Byte Order Mark)がついてしまうために余計な出力が生じてしまったようです。なので正確には「UTF-8N」とBOMがつかない様に保存しなければならなかったのです。詳しくこちら

なので問題があったファイルの文字コードを変更して保存しなおしてからアップしたら、上記エラーが収まりました。 

windowsXpのローカル環境では大丈夫だったのですが、サーバーの本番環境にのっけたとたんに出たエラーでしたので、ローカルでは大丈夫だったのに・・・なぜなぜなぜ???とさんざんハマりました。

まぁ学校でエディタを設定する際に「ここの設定はこれで」みたいな説明があったような気がしますが、なぜこうしないといけないのかまでは説明がなかった(もしくは忘れてた)ので。。。

最初からLinuxで開発している人たちは大丈夫なんでしょうねぇ。あ、あと通常の開発ではeclipseとか使っているようですし、こういった問題は出ないのかな?

私もこれからはeclipseにシフトしていこうと思います。eclipseでの「UTF-8」設定はBOMが付かないようですね。

さくらのセッションのエラーにハマる。。。

さくらインターネットにcodeigniterにて開発したコンテンツをアップしようと試みるが、インストールまではうまくいったのに、セッションのエラーにハマッてます。。。

A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information – headers already sent by (output started at /…../config/config.php:1)
Filename: libraries/Session.php
Line Number: 671

↑のエラーがどうしても直らない。

テストでいれた簡単なセッションもエラッてるので

http://web-rhodia.com/pages/web/server/sakura-php-ini

を参考にさくら側のphp.iniの設定を修正。

テストのセッションはうまく稼動したのですが、コンテンツの方は相変わらず。。。

ひきつづき原因解明に取り組んでみます。