本章では、PHPが動作する環境を構築していきます。Mac OS X Leopard にはPHPがプリインストールされています。Apacheの設定を変更するだけでPHPを利用できるようになります。
去年の話ですが、海外でこんな記事が上がっていました。 20 Tips you need to learn to become a better PHP Programmer 記事の内容は、かなりレベルが低いです。 しかし、初心者のうちに知っておけば、より早く成長出来るでしょう。 初心者PHPerのために、この記事の翻訳を載せます。 20 Tips you need to learn to become a better PHP Programmer PHPは、同じオブジェクトの扱い方でも複数の書き方を持っている、とても気まぐれなプログラミング言語だ。 詳しくは、私の書いた”The Art of Programming“を読むと良い。 これから書くTipsは、過去のプロジェクトから私が学んだコードの可読性、メンテナンス性を上げ、あなたを素晴らしい、より進んだPHPプログラマーにするもの
GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
via. はてなブログ 誰か書くんじゃないかと思いつつ、まあ、お決まりのパターンとしてPHP版も書いてみよう。 PHPのこと見てると、書き方とか取り巻く環境ってあんま変わってないなーとか思いつつ、そして何がモダンなんだっけ?新しければいいのか?って話だけど。 一般的な OSX 環境および Linux 環境における、モダンな PHP 開発環境の構築方法についてまとめてみた。最新のPHPとxdebugがあれば十分。 PHP 5.3.2 のインストール ソースから入れてた時期もあるけどやっぱパッケージが楽だな。。オフィシャルじゃないリポジトリを使えばパッケージで入れられる。 pearとpeclは、パッケージ入れるときに一緒に入れちゃう。 pear や pecl そのものは、PHPよりも頻繁にバージョンアップされるし、パッケージになってたりなってなかったりの管理が面倒だから基本的にpear/pec
サーバ上で動いてるどのphpが重いか?を調べられる「PhpTop」。 「サーバ監視に超使える〜topコマンドのまとめ」というエントリで様々なtopコマンドを紹介したのですが、phptopなるものを新たに発見したのでご紹介。 具体的に出来ることは、今サーバで動いているものを指定した期間で、もっともアクセスが多いphp、CPUを多く消費しているphp、メモリを多く使っているphpといったものを降順にソートできるというものです。 サーバ上で多くのphpが動いており、どうも負荷が高いけどどれが重いのかよくわからないという場合に使えます。 top コマンドでは httpd が動いてるぐらいしか分からないので phper な方で負荷にお悩みの方は使ってみるのもよいかも。 たとえば、 $ phptop -t 15 -s mem のように実行すると、15分以内で、メモリを多く使っている順にソートが可能。
PHPの設定は記述する箇所に応じて書き方が異なります。わりと忘れがちなのでまとめてみました。 php.iniでの記述 ; 引用符をつけないセミコロン(;)の後のテキストは、すべて無視されます ; セクションマーカ (角括弧の中のテキスト) は無視されます ; 論理値は、次のいずれかで指定します ; true, on, yes ; または false, off, no, none register_globals = off magic_quotes_gpc = yes ; 文字列を二重引用符で括ることも可能です include_path = “.:/usr/local/lib/php” ; バックスラッシュは他の文字と同様に処理されます include_path = “.;c:\php\lib” from: PHPマニュアル-実行時設定 論理値のtrue(false),on(off),ye
セキュリティについて、みなさん開発者なら当然細心の注意を払って開発を行っているとは思います。しかし、システムを利用する側の多くのユーザは、システムをある程度信頼し、IDとパスワードがかかっていれば大丈夫などと思いがちです。 そのため、パスワードに覚えやすいものや、入力しやすいものを設定する人も多いのが現状です。しかし、そういった単純なパスワードは「ブルートフォースアタック」と呼ばれる、辞書ファイルなどからの総当り攻撃に非常に弱いといった問題があります。そこで、PHPのCrack関数の出番です。 Crack関数とは、PECLとして提供されており、パスワードの「強度」を試すためのCrackLiライブラリが使用可能となります。 ユーザがパスワードを設定する際に、パスワードの強度をチェックすることができます。 それでは、早速試してみたいと思います。今回の環境は、CentOS5、PHP5.1.6、c
<?php define_syslog_variables(); // syslogをオープンし、プロセスIDをインクルードし、標準エラー出力にも // ログを出力します。そして、ユーザ定義のログ記録機構を使用します。 openlog("myScripLog", LOG_PID | LOG_PERROR, LOG_LOCAL0); // 何らかのコード if (authorized_client()) { // 何かをする } else { // クライアントは未認証! // ログを記録する $access = date("Y/m/d H:i:s"); syslog(LOG_WARNING, "Unauthorized client: $access $_SERVER[REMOTE_ADDR] ($_SERVER[HTTP_USER_AGENT])"); } c
導入 以下の関数は、エラー処理およびログ記録を行います。これらの関数によ り、独自のエラー処理規則を定義することが可能になり、同時にエラーの ログを記録する方法を修正することが可能になります。これにより、ニーズに 即したエラー出力の変更と拡張が可能になります。 ログ記録関数により他のマシンやemail(またはポケベルのゲートウエイ に!)、システムログ等に直接メッセージを送信することが可能になります。 これにより、ログを行うものを選択したり、アプリケーションやWebサイ トに最も重要な部分をモニタすることが可能になります。 エラー出力関数により、エラーのフィードバックのレベルと種類、 簡単な通知からカスタマイズされた関数までエラーの際に返すもの をカスタマイズすることが可能になります。
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
お久しぶりです、日野原です。 読者の皆さんは山本のレビューの設計編を楽しみにしていらっしゃると思いますが、彼は最近何やら忙しく飛び歩いていて、ここの記事を書く時間がとれそうにないのでもう少々お待ちください。 私はこの3ヶ月の間にまたプロキシの設定をしなければいけないケースに遭遇したので追記しておきます。 今回もプロキシの情報は同じとします。 ホスト proxy.example.com ポート 8080 ユーザ foo パスワード bar sudo 編 まず、前回基本編で挙げた export http_proxy=http://foo:bar@proxy.example.com:8080 ですが、これの適用範囲が広がりました。 rubygems編で「sudo では環境変数を引き継げない」と書いてしまったのですが、これは私の無知で、実は設定で引き継ぐ環境変数を指定できることがわかりました。 設
PHP の実行速度を上げる 持続的接続 PHP からデータベースに接続するには、普通 pg_connect 関数を使いますが、この関数は、呼ばれるたびにデータベースに接続します。普通、データベースへの接続の確立という作業は、サーバに大きく負担をかける処理の一つです。 そこで、サーバ製品の中には、一度接続したら接続を保持し、再度接続要求があったときには、保持している接続を使わせるという機能があります。コネクションプーリングとか、持続的接続とか呼ばれる機能で、PHP にもその機能があります。 やりかたは至って簡単で、pg_pconnect 関数を使って接続をするだけです。今まで、pg_connect と書いていた部分に対して、この関数を使うように変換するだけです。これで持続的接続されるようになります。 Apache で PHP を動かす場合は注意点があり、データベースコネクションが使い回される
APCの動作について調べる必要があったので、調べた際のメモを公開。 今回はキャッシュの取得や格納部分について。元気があればキャッシュの削除等についても公開するかも。 設定によってどういった動作をするのかがメインなので、Opcode周辺には触れない。というかよくわからないので触れられない。 内容はAPC-3.0.14をLinuxで動かした場合を想定。 内容についてのツッコミ大歓迎。 初期化 apc.num_files_hintはキャッシュされるファイル総数のヒント この値を2倍した数(num_slots)だけslot(1件のキャッシュをあらわすデータ)の領域が確保される ただし、この数がキャッシュ数の上限ではない キャッシュの取得と生成の動作 zend_compile_file関数を上書きしたmy_compile_file関数が呼ばれる apc_cache_make_file_key キャッ
CUI な Git ブラウザ tig を入れてみた (Born Too Late) [git][scm][tig] tig を使ってみた (do_akiの徒然想記) Twitter Trackbacks () とべとべ夏祭り2010電設部に参加した #tobesetu (key-cc) EC-CUBE LC_Page::sendRedirect()に引数を渡せない (弱小PHPerの憂鬱) [densetu][勉強会][学校]電設部IT勉強会#3やりますた(随時追記 (学内IT勉強会のススメ - atcorp) 電設部IT勉強会#3に参加したっ! (Curious) GLT #24 (懇親会)に乱入してきた! (Curious) GLT (Genesis Lightning Talks) Vol.24に参加しました (key-cc) GLT (Genesis Lightning Talks
的护调配情况液厅液量在输将根据输进行机动此前上班士也,北京人艺跨的整资源人力合实现,被另的成液大用作他人输厅将该院空置。 病人表示对此最终支持,年上演温暖但经心的解释后生耐过医,院了记者街医解到从厚,部分仍有认为患者好得输液目前快。一天昨日政实是新施第,喜剧她弥留、东第三了东医院医院院等医疗走访记者机构人民人民华医、康,。 包括的实修订一步政策则将作进和完施细善,之际来的期内袁伟:在接下芬说三四个月过渡,情况合东使其实际更符,对这项政还会策我们。北京人艺跨东华荡东的两消门医院院:液室院和医院液的院中营医院诊输家医仅有家民和康华医华医批取头监从源测输是全市首空荡康华。年上演温暖相似情况医院康华。 到了解记者,喜剧她弥留院的液人这两家医均输次均输液室日过去过百。全市取消医疗机构普通所有输液门诊,之际前今年年底。 不在限制就连内的此次范围输液室内门诊儿童,北京人艺跨的孩两名只有童也输液。 需要原
Copyright© 2008 mixi, Inc memcached in mixi 株式会社ミクシィ 開発部 長野雅広 Copyright© 2008 mixi, Inc 1 自己紹介 所属: 株式会社ミクシィ 開発部 システム運用グループ アプリケーション運用チーム Blog: http://blog.nomadscafe.jp/ PAUSE ID: kazeburo Copyright© 2008 mixi, Inc 2 アジェンダ • memcachedとは • mixiでの利用事例 • 分散アルゴリズムについて • memcached互換アプリケーション Copyright© 2008 mixi, Inc memcachedとは Copyright© 2008 mixi, Inc 4 memcachedって何? • 分散メモリキャッシュシステム a distributed m
テストコード mysqltest.php <?php for($i=0; $i<10; $i++){ $db = mysql_(p)connect("localhost", "root", "password"); mysql_select_db("wdm",$db); $sql = "select * from test"; mysql_query($sql ,$db); } ?>上記のスクリプトを、ab -n 10 http://localhost/mysqltest.php mysql_pconnectだと、1,2回(リクエスト数が増えると、少し増える。)しかMySQLにコネクトせず、その接続を別リクエストも使います。明示的にクローズできない。 mysql_connectでも、引数が同じだと、1回目しかMySQLにコネクトしない。最後に自動で接続をクローズする。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く