更新案件だとどうしても発生する問題について
お客猫様「このファイルで組めや」
大規模なサイトはそのサイトでの更新システムが確立されている事が多く、そのカテゴリ内でページを制作するときなどは、「このファイルを使ってください!」とPHPファイルが送られて来ることがよくあります。
そんな時は大体一部のファイルだけ送られてくるので、向こうの環境と同じにすることは出来ないんですよね。
なので、PHPファイルのまま制作しようとすると読み込み先のファイルが無いのにも関わらず、PHPが動いてしまってエラーが起きたり、ならPHPを動かないようにしようと .htmlに拡張子変更して進めると、今度はPHPタグがブラウザ上で表示されたりして、先方から突っ込まれることがあります。
それを回避するために、PHPタグを抜き取っておいて最後に挿入する方法などを取ると、五月雨修正が発生した時にものすごく危ないんですね。(モハヤワケガワカラナイヨ。)
そんな時おすすめするのが、PHPファイルのままでもPHPを無効にしてしまうという方法があります。
MAMP・サーバー上でPHPを無効にする
MAMPやサーバーが必要ではありますが、htaccessにちょろっと記述するだけで大丈夫です。
こんな感じですね。
#MAMP用 AddHandler php1.0000000-script .php #サーバー用(コメントアウト) #AddType text/html .php #RemoveHandler .php
1行目:MAMP用
phpのAddHandlerに存在しないバージョンを指定することでPHPを無効にすることができます。
2・3行目:サーバー用(コメントアウトしてます)
hetemlを使用した場合です。
使用する場合はPHPをHTMLとしてAddTypeした上で、PHPをRemoveHandlerします。
hetemlではAddType・RemoveHandlerのコメントアウトを取り、1行目をコメントアウトすればPHPが無効になりました。
設置箇所は基本的にルート直下です。
無効にした場合の弊害の対処
これで基本的にはPHPは無効になりますが、記述方法によってタグの一部だけはみでたりすることがありますので、それのTipsも書いておきます。
aタグ内のPHPタグにダブルクォーテーションが入っている
aタグ等の中にPHPタグが入っている場合、その中の記述でダブルクォーテーション(””)が入っていると、そこでaタグのから内容がはみでちゃうことがあります。
<a href="<?php hogehoge("fuga.jp")">リンクだよ</a>
結果↓
fuga.jp")">リンクだよ
はみ出ちゃう。。
その場合は、JS等の対処と同様でダブルクォーテーションをシングルクォーテーションに変更するとOKです。
<a href="<?php hogehoge('fuga.jp')">リンクだよ</a>
結果↓
リンクだよ
正しく表示されましたね。
ヒューマンエラーをなくすことに力を注ぎたいところ
というような感じで本番環境から作業環境となるべく近づけることが、手間を省くという以前に事故にならないための策だったりします。
ヒューマンエラーは確実に起きるので、まずそこから潰していくのが逆に一番の近道だと思っています。
さぁ。これで短縮した時間で、早く帰りましょう。