勉強したことのメモ

webプログラマが勉強したことのメモ。

setcookieで「Cannot modify」エラー

   

PHPでsetcookieを使うと「Warning: Cannot modify header information」みたいなエラーが出て、cookieが保存されなかった。自分のサーバでテストした際は問題なく、本番用の他社所持サーバで発生した。

リファレンスを確認すると「setcookie()は、あらゆる出力よりも前に送信される必要があります」との記載あり。

 

■リファレンス

http://php.net/manual/ja/function.setcookie.php

 

プログラムだけなら書き換えるだけで済むんだけど、既に公開されているWordPressで、cookieはプラグインの一部で使っており、色々入れ替えとなるとややこしそうだった。

解決策として以下記述をしたphp.iniファイルをサーバにアップすることで対応できた。

自サーバとかでphp.iniファイルを直接弄れるのであれば、そちらを編集すればOK。

本来であればsetcookieの前にhtmlなりの出力がされるところを、バッファに溜め込むことで回避しているっぽい。ただ、けっこう無理やり感があるので、header関数と同じくsetcookieも頭に書かないといけないというのは覚えておく。

 - PHP

  関連記事

PHPでコマンドを実行して画像を加工

PHPで画像をリサイズしたりサムネイルを作ろうとすると、 ソースが長くなって面倒 ...

FLASHがインストールされているかどうかチェックする

以前にここでちょっとやったけど、インストールされているか どうかだけならもっと良 ...

PHPからredisを利用する

もうちょっと 突っ込んで触ってみる。   【接続と終了】 [crayo ...

PHPで複数の画像やテキストファイルをzipファイルとしてダウンロードさせる

PHPで画像ファイルやテキストファイルをzip圧縮して、ダウンロードさせたかった ...

PHPで画像の削除

やりたい事↓↓ --------------- 画像の削除。削除ボタンを押すと「 ...

ユーザーエージェントなどユーザー情報を取得する方法

上からUA、IP、ホスト名を取得。 $ua = $_SERVER['HTTP_U ...

独自タグからタグへの変換function

独自タグは##IMG1##みたいな感じ。 画像ファイル名は「ファイルパス/seq ...

画像をアップロードすると複数サムネイルを生成する方法

フォームで画像をアップロードすると、予め定めておいた大中小のサイズでサムネイル画 ...

PHPでeval時のエラー

eval()'d code on line みたいなエラーが出てた。 よそのシス ...

画像削除用function

ファイルパス、拡張子、seq番号、画像番号を渡してあげるだけ。 拡張子部分があれ ...