検索
ホームページバックエンド開発PHPチュートリアルZend Studio+PHPnow+Zend Debugger_PHP チュートリアルを使用して PHP サーバー デバッグ環境を構築する手順

本人主要是做ASP.NET开发的,但有时候也会接触到PHP,而且我认为PHP有很多源码值得学习,我们不是学习PHP代码的写法,而是学习源码的实现思路,或者免强叫为算法。

作为一名非专业的PHP开发者,想要较方便地读懂并搞清楚一个PHP功能模块的运行细节,搭建一个PHP调试环境,然后单步调试程序,以掌握程序的整个运行过程显的尤为重要。

一、 准备安装文件

1、PHPnow-1.5.6。“PHPnow 是 Win32 下绿色免费的 Apache + PHP + MySQL 环境套件包。简易安装、快速搭建的 PHP 环境。”

2、ZendDebugger-5.2.14。Zend公司的PHP调试工具或叫插件。 http://downloads.zend.com/pdt/server-debugger/ZendDebugger-5.2.14-cygwin_nt-i386.zip

3、ZendStudioEnterpriseEdition-v5.5.0。据说PHP业界最著名的IDE,不知道基于Eclipse插件的PHP开发环境如何,有时间玩一下再说。

二、 配置程序

1、安装PHPnow。把安装包PHPnow-1.5.3.zip解压到一个地方,像我这里解压到“D:\soft\PHP”,然后双击PHP文件夹中的“Setup.cmd”开始安装,中间安装到MySql的时候会提示你输入数据库用户名和密码,本地测试用一般就都设为“root”。安装完成后在浏览器输入以下地址http://127.0.0.1/,如果成功的话,你将会看到如下画面:

注意:如果你的系统之前有安装IIS,并且IIS是运行着的,要先把IIS停止掉,不然80端口会冲突,虽然通过“PnCp.cmd”工具可以修改Apache端口,但不建议这样改。

2、安装ZendDebugger。把ZendDebugger-5.2.14-cygwin_nt-i386.zip解压到PHPnow安装目录,即“D:\soft\PHP”,然后把ZendDebugger-5.2.14RC9-cygwin_nt-i386文件夹名字改成ZendDebugger这样短文件名,进到ZendDebugger目录,我们可以看到下面那样的文件结构:

现在要把文件夹中的X_X_x_comp文件夹重命名为php-X.X.x,比如将“5_2_x_comp”重命名为“php-5.2.x”,因为我的测试环境都是php5.2的,所以我可以只改“5_2_x_comp”这一个文件夹。这里的改动是为了等一下在php.ini中配置它。

现在去PHP安装目录修改PHP配置文件,这个文件通常被命名为“php.ini”,让服务器能正确加载我们的模块。但是这个PHPnow环境下的PHP配置文件不叫“php.ini”,而是“php-apache2handler.ini”,我们怎么可以知道当前WEB服务器所用PHP的配置文件名呢。下面就是一个办法:在“D:\soft\PHP\htdocs”目录,建立一个phpinfo.php文件,并在其中输入内容“”,然后打开浏览器可以看到如下信息,反白显示路径就是当前PHP配置文件所在路径了:

注意:这里指的PHP配置文件是网站依赖的PHP配置文件,不是下面提到的Zend Studio目录下的php.ini文件(Zend Studio也自带了几个不同版本的PHP),如下图:

修改“D:\soft\PHP\php-5.2.9-2-Win32\php-apache2handler.ini”文件。用记事本打开该文件,移动侧栏滚动条至最底部,在文档尾部可以发现以下配置节点:

在其尾部追加:

zend_extension_manager.debug_server_ts="D:\soft\PHP\ZendDebugger"
zend_debugger.allow_hosts=127.0.0.1/32,192.168.0.8/24
zend_debugger.expose_remotely=always

最终应该像这样:

解释一下:

(1);zend_extension_ts="D:\soft\PHP\ZendDebugger\5_2_x_comp\ZendDebugger.dll"这是我注释的,因为这样设置zend_extension_ts重复,出现不能与ZendOptimizer共存情况。

(2)、zend_extension_manager.debug_server_ts="D:\soft\PHP\ZendDebugger",这里指到目录就行了,PHP会自动根据自己版本去下面找php_X_X_X这样文件夹下面的dll文件,这也是上面我们为什么要对ZendDebugger下面子目录改名的原因。

(3)、zend_debugger.allow_hosts=127.0.0.1/32,192.168.0.8/24,这里后面的192.168.0.8改成你自己的IP就行了,可以像下面那样查看到自己的IP地址:

次の「32」と「24」はディレクトリ名ではありませんが、「32」は「255.255.255.255」、「24」は「255.255.255.0」を表します。

ブラウザで開きます: http://127.0.0.1/phpinfo.php。次の情報が表示されたら、インストールは成功しています。「with Zend Debugger v5.2.14, Copyright (c) 1999」 -2008 年、Zend Technologies 製。 http://127.0.0.1/ に戻ると、コンポーネント サポート ボックスの Zend Optimizer サポート ステータスがまだ「Yes」であることがわかりました。これは、Zend Debugger と Zend Optimizer が共存して実行されていることを意味します (共存して実行されないインターネットは、十分ではありません)。

3. Zend Studio をインストールします。 ZendStudioEnterpriseEdition-v5.5.0.270.rar を解凍し、ファイルを解凍した後に win_setup.exe ファイルを実行し、デフォルトで [次へ] をクリックします。これにより、C ドライブに Zend Studio が正常にインストールされます。実行して閉じます。デフォルトは英語なので、中国語に変更しましょう。以下に示すように、ドライブ C (Zend Studio がインストールされているドライブ) でファイル「desktop_options.xml」を検索します。

それを見つけたら、メモ帳で開き、以下を見つけます:



上記の en を zh に変更して保存し、ファイルを「読み取り専用」としてマークします (Zend Studio は特定の時間に自動的に再起動し、デフォルト設定に戻ります。「読み取り専用」に設定されている場合) 、何もできなくなります)。さらに、次のようなエンコードオプションも実際の状況に応じて変更できます:



たとえば、 に変更できます。Zend Studio でコード ファイルを開いて中国語の文字化けが見つかった場合は、このオプションを変更できます。

3. デバッグを開始する

「スタートメニュー」から「Zend 開発環境 (Zend Studio)」を見つけて実行します。新しいプロジェクトを作成し、開発したソース コード パッケージをこのプロジェクトに導入します。この cms は、新しいプロジェクトのデバッグ オプションで設定します。ここで、いくつかの設定が同期されている限り、デバッグ サーバーの URL は 127.0.0.1 のようなアドレスにすることもできます:

また、「ツール」メニューの「環境設定」の「デバッグ」タブも以下のように設定されています。

今すぐチェックしてください:

成功すると、「デバッグサーバーに正常に接続されました。」ダイアログボックスが表示されます。

SupeSite7.0 ソース コード プロジェクトを開き、Zend Studio 組み込みブラウザを選択し、アドレス バーに http://127.0.0.1/cms/batch.search.php と入力します。ここでは、検索ページ コードのデバッグを示します。 SuperSite7.0の。次に、ブラウザの左端にある「Scale Insect」ボタンを直接押して (その隣の逆三角形からさまざまなデバッグ範囲を選択できます)、batch.search.php ページのデバッグに直接入力します (batch.search.php の場合)。 php ページが以前に編集状態になかった場合、つまり開いていない場合は、F11 を使用してステートメントごとに実行すると、現在のデバッグ ページに含まれる外部コード ファイルが自動的に開きます。

も開かれます。

デバッグ ボタンを押した後、ソース コードに直接移動すると、次のようにカーソルが最初のステートメントに配置されます (ここではブレークポイントを設定せず、F5 モードでプログラムをデバッグしました)。

次に、ボタンをクリックしてフォーム値を送信し、それをキャプチャするテストをしてみましょう。下の図に示すように、「検索」ボタンをクリックすると、「CMS とは」というキーワードがどのように処理されるかを確認できます。操作シーケンスは次のようになります。 http://127.0.0.1/cms/batch.search.php を開く -> キーワード「CMS とは」を入力 -> [検索] ボタンをクリック -> ブラウザをクリックツールバーの「昆虫のスケール」ボタン。

デバッグ後、「CMS とは?」がどのような変数に保存され、処理されているかを確認できます。以下に示すように:

この時点で、Zend Studio+PHPnow+Zend Debugger サーバー デバッグ環境全体がセットアップされ、使用法が実証されました。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/714946.html技術記事私は主に ASP.NET を開発していますが、時々 PHP に触れることがあります。PHP には学ぶ価値のあるソース コードがたくさんあると思います。私たちは PHP コードの書き方を学んでいるのではなく、ソース コードの実装を学んでいます。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHP対Python:違いを理解しますPHP対Python:違いを理解しますApr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHP:それは死にかけていますか、それとも単に適応していますか?PHP:それは死にかけていますか、それとも単に適応していますか?Apr 11, 2025 am 12:13 AM

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの未来:適応と革新PHPの未来:適応と革新Apr 11, 2025 am 12:01 AM

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHPの抽象クラスまたはインターフェイスに対して、いつ特性を使用しますか?PHPの抽象クラスまたはインターフェイスに対して、いつ特性を使用しますか?Apr 10, 2025 am 09:39 AM

PHPでは、特性は方法が必要な状況に適していますが、継承には適していません。 1)特性により、クラスの多重化方法が複数の継承の複雑さを回避できます。 2)特性を使用する場合、メソッドの競合に注意を払う必要があります。メソッドの競合は、代替およびキーワードとして解決できます。 3)パフォーマンスを最適化し、コードメンテナビリティを改善するために、特性の過剰使用を避け、その単一の責任を維持する必要があります。

依存関係噴射コンテナ(DIC)とは何ですか?また、なぜPHPで使用するのですか?依存関係噴射コンテナ(DIC)とは何ですか?また、なぜPHPで使用するのですか?Apr 10, 2025 am 09:38 AM

依存関係噴射コンテナ(DIC)は、PHPプロジェクトで使用するオブジェクト依存関係を管理および提供するツールです。 DICの主な利点には、次のものが含まれます。1。デカップリング、コンポーネントの独立したもの、およびコードの保守とテストが簡単です。 2。柔軟性、依存関係を交換または変更しやすい。 3.テスト可能性、単体テストのために模擬オブジェクトを注入するのに便利です。

通常のPHPアレイと比較して、SPL SPLFIXEDARRAYとそのパフォーマンス特性を説明してください。通常のPHPアレイと比較して、SPL SPLFIXEDARRAYとそのパフォーマンス特性を説明してください。Apr 10, 2025 am 09:37 AM

SplfixedArrayは、PHPの固定サイズの配列であり、高性能と低いメモリの使用が必要なシナリオに適しています。 1)動的調整によって引き起こされるオーバーヘッドを回避するために、作成時にサイズを指定する必要があります。 2)C言語アレイに基づいて、メモリと高速アクセス速度を直接動作させます。 3)大規模なデータ処理とメモリに敏感な環境に適していますが、サイズが固定されているため、注意して使用する必要があります。

PHPは、ファイルを安全に処理する方法をどのように処理しますか?PHPは、ファイルを安全に処理する方法をどのように処理しますか?Apr 10, 2025 am 09:37 AM

PHPは、$ \ _ファイル変数を介してファイルのアップロードを処理します。セキュリティを確保するための方法には次のものが含まれます。1。アップロードエラー、2。ファイルの種類とサイズを確認する、3。ファイル上書きを防ぐ、4。ファイルを永続的なストレージの場所に移動します。

Null Coulescingオペレーター(??)およびNull Coulescing Assignment Operator(?? =)とは何ですか?Null Coulescingオペレーター(??)およびNull Coulescing Assignment Operator(?? =)とは何ですか?Apr 10, 2025 am 09:33 AM

JavaScriptでは、nullcoalescingoperator(??)およびnullcoalescingsignmentoperator(?? =)を使用できます。 1.??最初の非潜水金または非未定されたオペランドを返します。 2.??これらの演算子は、コードロジックを簡素化し、読みやすさとパフォーマンスを向上させます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境