PHP | SanRin舎
正式名称は「PHP: Hypertext Preprocessor」。Rasmus Lerdorfが1994年に考案。当初はPersonal Home Page Tools (PHP Tools)と呼ばれていた(プログラミングPHP 第2版参照)。
インストール
WindowsではXAMPPを使うとApacheやMySQL、PHPをひっくるめてインストールできる(FreeBSDについてはここ)。
XAMPPの使い方を参考にインストールしてみた。ちょっと情報は古かった。
XAMPP 1.7.4をインストールして起動すると
XAMPP Component Status Check failure[3].
Current directory: c:\xampp
Run this program only from your XAMPP root directory.
というメッセージが出てきた。ちゃんと動くけど、気になる人はInstallerではなく、ZIPファイルを使うと出ない (Apache Friends Support Forum • View topic – XAMPP 1.7.3 vs. 1.7.4)。
ポート番号の設定
80と443のポートが使われているとApacheが起動しない。IIS(Internet Information Service)やSlypeなどで使っている場合がある。
ここに従って設定を変えると起動できた。
ちょっとまとめる。
ポート番号の調べ方
netstatでネットワークの状態を調査によると、アプリケーションが使っているポート番号を調べるには、コマンドプロンプトを起動して
メディア·ウォッチドッグは、誰である
netstat -oan
を打つ。例えばポート番号80を使っているアプリケーションを調べるには、出力された結果のLocal Addressにある「:80」のPIDを調べる。PIDが1856だった場合は、
tasklist /fi "pid eq 1856"
と打つと、そのアプリケーションが何かわかる。
Apacheの設定の変更
アプリケーションの設定を変えてもいいが、Apacheのポートの設定を変えて、解決する方法もある。
例えば、C:\xampp\apache\conf\httpd.confの「Listen 80」を「Listen 8080」、「ServerName localhost:80」を「ServerName localhost:8080」に変更、C:\xampp\apache\conf\extra\httpd-sll.confの「Listen 443」を「Listen 444」、「ServerName localhost:443」を「ServerName localhost:444」にする。このように設定した場合は
デフォルトの設定だと.html内のphpが無視されるので、
AddType application/x-httpd-php .html
と書かれた.htaccessを作るか、Apacheの設定に加えるかする。
PHPの設定
php.ini
場所は/etc/php.iniとか。
phpinfo
というファイルを作ってブラウザでアクセスする。
CUIの場合はphp -i(または–info)と打つ。
ファイルごとの設定
インクルードパス
/hoge/fugaをインクルードパスに加えたい場合はファイルに
引当金の世界はどのようなアプリケーションの問題を抱えている
ini_set('include_path', ini_get('include_path').":/hoge/fuga");
を加える。
Emacsの設定
ここ参照。
コマンドライン
ワンライナー
Repl
パスワード入力
演算子
・演算子の優先順位
変数・定数
どこまでが変数名か明示するためには波括弧を使う。
echo "{$n}th";
${open_basedir}
PHPの精度
配列
・配列関数
・array_fill — 配列を指定した値で埋める
・implode — 配列要素を文字列により連結する。逆はexplode。
多次元配列の変数展開は、配列全体を波括弧で囲む。
echo "2の1成分は{$multi[2][0]}です";
文字列
・エスケープシーケンス
・WikipediaのASCIIコードの表
・文字の ASCII 値を返す – ord
文字列の$i番目の文字を抜き出すには
$str = 'hello"; $str{$i};
とする。
何それが世界遺産リストに追加するかかりますか
正規表現
URLを自動でリンク
function autoLink($subject) { $pattern = "/(https?|ftp)(:\/\/[[:alnum:]-_.!~*'();\/?:@&=+$,%#]+)/u"; //uはUTF-8エンコードされた文字列を扱うためのPCRE 修飾子 $replacement = '$1$2'; return preg_replace($pattern, $replacement, $subject); }
Perlメモによると、URLの正規表現を正確に表現すると非常に複雑になるが、簡単に書くと上記のようになる。
メモ
クラス
バイナリ
・PHP でバイナリプログラミング
・pack — データをバイナリ文字列にパックする – cf. [perl] pack, unpackで16進文字列を扱うメモ
Warning: Cannot modify header information - headers already sent by ...
header()を使うとしばしば見るエラー。
header()の前に出力があるとエラーが出る。includeしているファイルのの上下に空白があったり、BOMつきだとエラーが出る。exitを後に付けるとよい?
output_bufferingをOnにするとよいらしい(header関数 : PHP | FindxFine -Web制作に関するメモ-)。
header()
でURLをパラメータに持つURLを転送先にすると、だめっぽい?$_SERVER['PHP_SELF']
で得た値だとダメ?GETで渡すURLをrawurlencode()
で変換すると、良くなった。
GET & POST
cURL
PHP Simple HTML DOM Parser
データベース
PDO
メモ
Xdebug
XML
ログイン認証
セッションを使った方法
初心者向けPHP5でつくるログイン機能のサンプルアプリケーションを参考にしてみたが、サーバーがセーフモードにしていたのでセッションがうまく使えなかった。ここに解決策が書いてあるがうまくいかなかった。
クッキーを使った方法
[php] パスワード認証ログインシステムのサンプル参照。
GD
画像を扱うライブラリ。
pChart
グラフを簡単に作ることができる。GDが必要。
0 コメント:
コメントを投稿