こんにちは、亀本です。最近は体調がすこぶる絶不調です。季節の変わり目なので、皆さんも気をつけてください。 さて、ちょろちょろと話題に上ることの多いFirefoxを使ったPHPのデバッグ手法ですが、いくつか出てきたのでこの辺でサクッとまとめておこうかと思いました。 結果的に、だいぶ膨らみましたが。。。まとめ力ないなorz 1.Buggy クラス AJAX magazine というサイトで公開されていたサンプルスクリプトで、クラス1つだけの小さなライブラリです。 以前、PHPプロ!ニュースでもご紹介した方法です。 この方法は、PHPのエラーをハンドリングし、その内容をscriptタグに出力し、console.info()を用いてFirebugのコンソールに渡す、という仕組みです。そのため、Firebugは必須です。 記事掲載当時は、buggy.class.phpがダウンロードできたのでしょうか
PHPをデバッグする方法を教えてください apacheで動いている状態で、エラーは出ていないが動作がおかしい時(WEBアプリ以外ならデバッガーでステップ実行したり、変数をwatchするような時)のデバッグ方法を教えてください。 ※多分ログ出力でやるのではないかと思いますが、その場合のログ出力の記法と出力先が知りたいです。
PHPでファイルをアップロードしたとき $_FILES にアップロードされたファイルについての情報が入っています。 そして $_FILES[...]['type'] にはアップロードされたファイルの MIME type が入っています。しかしここに入っている値は PHP: ファイルアップロードの処理 - Manual に $_FILES['userfile']['type'] ファイルの MIME 型。ただし、ブラウザがこの情報を提供する場合。 例えば、"image/gif" のようになります。 この MIME 型は PHP 側ではチェックされません。そのため、 この値は信用できません。 と書かれている通り信頼できません。ソースコードを見てみると php-5.1.4/main/rfc1867.c の SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post
データベースファイルはちゃんと httpd から読み書きできるようにしてるのに! いろいろやってたらどうも読めるけど書けない,ということに気づきました。も,もしや,と思って「データベースファイルを置いてあるディレクトリ」の書き込み属性を on にしたら OK になりました。 どういうことかざっくり書くと, drwxr-xr-x dbdir/ _rwxrwxrwx dbdir/target.db というように,データベースファイルの書き込み権限だけで安心してちゃだめで, drwxrwxrwx dbdir/ _rwxrwxrwx dbdir/target.db にしなきゃいかんということです*1。 追記: お礼とかはわざわざコメント欄とかでいただかなくて結構ですよ〜恐縮です *1:もちろん owner 等変更するのでもいいけど
楽天ウェブサービスをPHPで利用するPEARライブラリ「PEAR::Services_Rakuten-0.2.0」をリリースしました。今回は未対応だったAPIの対応のほか、リファクタリングを行い、今後拡張しやすい形にソースコードを変更しました。 主な変更点は以下です。 2007/07/17現在の全APIに対応(楽天ダイナミックアドAPI含む) ソースコードリファクタリング リファクタリングに伴い利用方法を変更(後述) インストール・アンインストール インストール方法は以下です。 $ pear install --alldeps /blog/download/Services_Rakuten-0.2.0.tgz インストール時に「Failed to download pear/XML_Serializer within preferred state “stable”」といったエラーが発生し
PHPのソースコードを自動生成するWebアプリケーションであるPHP Object Generatorの最新版「PHP Object Generator (以下、POG)3.0」が26日(米国時間)、公開された。PHPで開発されたWebアプリケーションで、The BSD Licenseのもとで公開されている。POGでは、クラス名とアトリビュートを指定することで同データを操作するためのPHPクラスが生成される仕組みになっている。PHP4/PHP5アプリケーションで動作するコードが生成される。 対象とするPHPのバージョン、クラス名、操作するアトリビュートを指定して操作するコードを自動的に生成させる POGはもともと、データベースにアクセスするコードを自動生成することで開発時間を削減することを目的として開発された。データベースにアクセスするためのコードはアプリケーションごとに異なるが、結局似た
前記事 プログラミング解説書籍の脆弱性をどうするか 高木氏が12/27のブログエントリで書かれた、拙著「PHPサイバーテロの技法」に対する批判は大きく2点に分けられると思います。 (1) 「サイバーテロ本」では、その場しのぎ的な「サニタイズ」を行うコーディングを推奨している (2) 「サニタイズ言うなキャンペーン」 このメインとなる2点以外についても、拙著「PHPサイバーテロ本」についていくつか書かれているので、それについての回答や反論を先に片づけておきます。 「書籍に脆弱性があることについて」 高木氏、12/27エントリの冒頭部: Quote: 印刷されて流通する書籍に脆弱性がある、つまり掲載されているサンプルコードにズバリ脆弱性があるとか、脆弱性を産みやすいコーディングスタイルを身につけさせている解説があり、それが脆弱なプログラマを生産し続ける根源になっている問題は、「なんとかしないと
■ プログラミング解説書籍の脆弱性をどうするか 印刷されて流通する書籍に脆弱性がある、つまり掲載されているサンプルコードにズバリ脆弱性があるとか、脆弱性を産みやすいコーディングスタイルを身につけさせている解説があり、それが脆弱なプログラマを生産し続ける根源になっている問題は、「なんとかしないといけないねえ」と以前から言われてきた。 ソフトウェア製品の脆弱性は、指摘があればパッチが提供されたり修正版に差し替えられたりするが、書籍の脆弱性はどうか。正誤表が差し込まれるとか、回収する措置がとられるかというと、それは望めそうにない。言論には言論で対抗すればよいということになるだろうか。 久しぶりにいくつかの書籍について調べてみた。先月園田さんの日記などで比較的評判良く紹介されていた2冊を読んだ。 山本勇, PHP実践のツボ セキュアプログラミング編, 九天社, 2004年6月 GIJOE, PHP
Smarty を使った開発でデバッグを行う 4 つの方法 2006-11-29-1: [PHP][Books] PHP のテンプレートエンジン Smarty を使って開発するときに,割り当てた変数が複雑になって困ることはありませんか? その際,何らかの方法を使って割り当てた変数を確認するのですが,いくつか方法があります. 1. 常にデバッギングコンソールを表示する方法 おそらく一番有名な方法ですが,$debugging に true を指定して,常にデバッギングコンソールを表示する方法です. require_once 'Smarty.class.php'; $smarty = new Smarty; $smarty->debugging = true; これで,常にデバッギングコンソールが表示されます. デバッギングコンソールは,window.open() を使った JavaScript
平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 本件に関するお問い合わせはこちらよりお願いいたします。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く