2011年04月02日

xampp1.7.4におけるネットワークについて

なんとxampp1.7.4からは同じネットワーク内のPCからアクセスできないようセキュリティがかかってしまいました。
確か、今までは設定を変えることとなく、IPアドレスでつながってはいました。
というわけで、セキュリティの変更の方法です。

「httpd-xampp.conf」を編集します。

場所は(C:\の直下にxamppがあるとして)
C:\xampp\apache\conf\extra\httpd-xampp.conf

このファイルの最後の方の下記の部分を編集します。


Order deny,allow
Deny from all
Allow from 127.0.0.0/8
ErrorDocument 403 /error/HTTP_XAMPP_FORBIDDEN.html.var



この部分
Allow from 127.0.0.0/8

#Allow from 127.0.0.0/8 ←コメントアウト
Allow from 192.168.xx.xx/24
とネットワークのIPアドレスに変更するだけです。

変更したら、Apache2の再起動を忘れずに!!

posted by hikaru at 08:18| Comment(0) | PHP | このブログの読者になる | 更新情報をチェックする

2011年02月19日

print と echo の違い

PHPを勉強し始めて、必ず最初にあたる疑問。。

printとechoの違いです。
この疑問について調べた限り述べようと思います。

まず、二つとも「表示する」働きをするものです。
ですので、どちらを使っても同じです。
好みによる使い分けになると思います。

但し、微細な違いがあります。


一つ目に、返り値があるかどうか。
printには返り値があり、
echoには返り値がありません。

いったい、何が返ってくるかというと、「intの 1 」が返ってきます。
phpでいえば、1というのはtrueに置き換えられるため、表示できたかどうかわかり、

$gyo += print "sample";
$gyo += print "test";

というように書けば、printが実行された回数が得られます。
。。。が、特に有効な利用方法は知りません。

しかし、その返り値があることによって、微妙に処理に時間がかかります。

つまり、返り値がないechoの方が、printより処理が早くなります。
とはいっても、昨今のPCでは微妙な微妙な違いです。

2つ目の違い。
printは一つの文字列を表示できるのに対し、
echoは「,(カンマ)」で区切ることによって、一つ以上の文字列を表示できます。

つまり、
print "printsample";
echo "echo","sample";

といった違いになります。
これは大きな違いだと一瞬思いますが、実はこれも微細な違いになります。
なぜなら、printも一つ以上の文字列を表示する方法が別にあるからです。
それは「.(ピリオド)」文字列連結演算子を使う方法です。

つまり、
print "print"."sample";

と、書けば、二つの文字列を連結して表示するとった動きになります。
もちらん、これはechoにも同じことができます。

ですので、一つ以上の文字列を表示する際、
printは「.(ピリオド)」のみが使え、
echoは「.(ピリオド)」と「,(カンマ)」の両方が使えるのです。

これは、echoでは、「.(ピリオド)」と「,(カンマ)」を打ち間違えても大丈夫だと意味しています。
(PHPでは、このほかにも、多少のミスをカバーしてくれますが、これはまた別の話)


(あくまで個人の)推測するに、
最初にprintがあり、
それをよりよく、より速くするためにechoが作られたのだと思います。

結論、
printとechoはほぼ同じものであるが、
個人的には、echoを使ったほうが、若干メリットがあるため、
これからも、echoを使います。

posted by hikaru at 15:52| Comment(0) | PHP | このブログの読者になる | 更新情報をチェックする

2011年01月15日

xampp1.7.3 と eclipse の注意点 

xampp1.7.3とeclipseの連携についてのメモ

eclipse3.4.2からApacheを起動しようとするとエラーが起きる。

なぜか原因を探る。

eclipse → ウィンドウ → 設定 → PHPeclipse Web 開発 → PHP外部ツール → Apache

のApacheのパスが、デフォルトで、

c:\xampp\apache\bin\apache.exe

になっているが、Androidと同じく、xampp1.7.3からは
apache.exe が httpd.exe に変更されている。

おいおい。

てなわけで、

c:\xampp\apache\bin\httpd.exe

に変更すると起動します。


が、eclipseからはstopができないまま。


これはまた別の話。。
posted by hikaru at 23:11| Comment(0) | PHP | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。