こんな風に、postにデータが入って無い時は弾こうとしたとき

ローカルでCannot modify header informationになりました。

これはheader()より先に何かが出力されている事が原因のエラーみたいなんだけど、
変数への代入は関係ないみたいだし、謎な改行も空白行無いし、BOMも付いてないしで
改行消してみたり、ファイルの保存方法を見なおしたりでは上記ソースのエラーを消せませんでした。

で、実際にエラーを消せた方法

1)php.iniのoutput_bufferingをonにする。

MAMPのphp.iniは
[text]
/Applications/MAMP/bin/php/php[バージョン]/conf/php.ini[/text]
にあります。

見てみると
output_buffering = Off になっていたので
output_buffering = On に変更しました。

その後、MAMPを再起動して確認するとlocationで指定したページへ飛んでくれました。やった!

2)ob_start();を使う。

output_buffering = Offのままob_start();を挿入してもいけました。やった!

PHP: ob_start – Manual

使い方あってるのかな。


昔つくったサイトでレイアウトが崩れると連絡がありました。

話を聞くと、httpsで見るとレイアウトが崩れるとか。
そんな事あるのかな?と確認するとfloat部分がカラム落ちしてました。

httpだとこうなってる
2015-02-16_r1

httpsだとこうなる
2015-02-16_r2

現象としては、横並びさせてる3要素の最後のmarginをjsで0にしてたんだけど、それが効いてない感じ。
jqeury本体は▼のを使ってた

もしかして、httpだから?
で調べてみるとプロトコル表記は省略出来るとの事で、次のように変更。

参考

全般的なスタイルルール プロトコル 埋め込みリソースからプロトコル表記(http:,https:)を省略する。

httpsだとjQuery/Ajaxは使えないのでしょうか?


Coda2用の機種依存文字ぽいものを変換するプラグイン

ダウンロード▼

機種依存文字変換プラグインダウンロード

どんなもの?

選択したテキスト内の機種依存文字ぽいものを変換します。

昔、adobeがContribute用に公開していた文字パネルという拡張機能の機種依存文字の変換のような変換をします。

文字バネル

実は、上のプラグインはDreamweaverにもインストール出来て、
これがあれば、全角数字や半角の混在や、数字1文字の(株)みたいなのをガンガン織り交ぜた.docを資料として渡されても問題なしでした。

が、いつしか公開は停止されダウンロードページも消滅していました、残念。

インストール方法

次のファイルを解凍して出来たconvert_ng.codaplugin
Library/Application Support/Coda 2/Plug-ins/に入れる

Coda2が起動していたら再起動する

ツールバーのプラグインの中に機種依存文字変換が出てきたらインストール成功かな?
(v2.0.14のutf-8でのみ動作確認済み

使い方

選択範囲内の機種依存文字ぽいものを変換します
1)選択範囲を作って
2)ツールバー>機種依存文字変換(cmd+shift+x

全体を変換する場合は
cmd+acmd+shift+x
でいけるはず。


CSS3までのセレクタは、特定の子要素を持つ親要素を選択できないけど
jQueryの:hasフィルターで出来るよ

例えば、aタグを含むliを選択してみる

aタグを含む<li>に.targetが付いてるのが確認できる
[image]:hasフィルター


自分用メモ
ほとんどXAMPPと同じぽい。

使うアプリ(2個+1)

MAMP / apacheとMySQLにPHPを簡単インストール

MAMP: Mac, Apache, MySQL, PHP

hoster / hostsの設定が楽チンになるアプリ

RedWinder::MacApp::Hoster

エディター / CotEditor使った

CotEditor プロジェクト日本語トップページ – SourceForge.JP

手順(うろ覚えだけど)

1)MAMPの変更

MAMP PROは使わないからアンインストールした
アプリケーション フォルダのMAMP PROの中にあるUninstaller.appで
全部チェックした。

MAMPのポートを:8888から:80に変更した
[image]環境設定 - ポート

2)httpd.confの書き換え

httpd.confをCotEditorで開けるように、cmd+iから変更
[image]httpd.confを開くアプリを変更

httpd.confの場所は
[text]/Applications/MAMP/conf/apache/httpd.conf[/text]

次の行を検索して
[text]#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml[/text]

#(コメントアウト)を削除して .htmlを追加
[text]AddType text/html .shtml .html
AddOutputFilter INCLUDES .shtml .html[/text]

次に、
[text]Options Indexes FollowSymLinks[/text]で検索して

[text]<Directory />
Options Indexes FollowSymLinks
AllowOverride None
</Directory>[/text]
に”ExecCGI Includes”(CGIとSSIの使用を許可)を追加

こんな感じになる。
[text]<Directory />
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride None
</Directory>[/text]

もいっちょ、バーチャルホストを使うので
[text]Virtual hosts[/text]で検索して
コメントアウトを削除
[text]# Virtual hosts
#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf[/text]

[text]# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf[/text]

3)httpd-vhosts.confの編集

[text]/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf[/text]

winのxamppだとNameVirtualHost *:80がコメントアウトされてたけど
MAMPはされてなかった。

一番下に追加
DocumentRootにフォルダの場所
ServerNameに任意のアドレス
[text]<VirtualHost *:80>
DocumentRoot "/Users/[ユーザー名]/_webroot/example"
ServerName _example.localhost
<Directory "/Users/[ユーザー名]/_webroot/example">
order deny,allow
allow from all
</Directory>
</VirtualHost>[/text]

4)hosterを起動

ホスト名に「_example.localhost
IPに「127.0.0.1」を追加

こんなの追加されたらおk
[text]127.0.0.1 _example.localhost[/text]

以上MAMPを再起動して動作チェック

バーチャルホストを増やす時は
3)と4)をそれぞれ編集。

以上で漏れはないかな?

[追記 / 20120918]
その他参考
MAMPを使ってローカルで複数サイトのバーチャルホストを設定&イントラ環境や仮想環境からもそのサイトを確認する設定方法 | THE HAM MEDIA BLOG
MAMPのPHPでの文字化けを直す | memocarilog