0

ここでアイデアが不足しています。物理的には、私の Zend インストール (Windows 上の XAMPP) は にありD:\xampp\htdocs\newsite\zend\libraryます。

zend.php (場所D:\xampp\htdocs\newsite127.0.0.1/newsite/zend.php.

.;D:\xampp\php\PEAR
.;D:\xampp\php\PEAR;/zend/library
.;D:\xampp\php\PEAR;D:\xampp\htdocs\newsite\zend\library
.;D:\xampp\php\PEAR;D:/xampp/htdocs/newsite/zend/library
.;D:/xampp/htdocs/newsite/zend/library
.;D:\xampp\htdocs\newsite\zend\library
D:\xampp\htdocs\newsite\zend\library
.;./zend/library;D:\xampp\php\PEAR;D:\xampp\htdocs\newsite\zend\library
.;./zend/library;D:\xampp\php\PEAR;D:\xampp\htdocs\newsite\zend\library;/zend/library
.;./zend/library;D:\xampp\php\PEAR;D:\xampp\htdocs\newsite\zend\library;D:/xampp/htdocs/newsite/zend/library

編集: はい、get_include_path() を介して上記のすべてを取得しました。私はPHP 5.3.8を使用しています。

4

2 に答える 2

1

自動ローディングを使用しようとしていないと仮定すると、自動ローダの問題を除外するのに良い考えです。

include_path は ".;D:\xampp\php\PEAR;D:\xampp\htdocs\newsite\zend\library" を返すので、単純なインクルードが機能することを期待します。

ZF2 を使用していると仮定すると、上記のインクルード パスが返される場合、このテストはエラーにならないはずです。

<?php
include ('Zend\Version\Version.php');

それでもエラーが発生する場合は、フルパスで試して、ファイルが含まれていない原因がインクルード パスであるかどうかを確認してください。

<?php
include ('D:\xampp\htdocs\newsite\zend\library\Zend\Version\Version.php');

テストが上記よりも複雑な場合は、インクルード パス以外の何かが間違っている可能性があります。失敗しているコードを投稿できますか?

また、ZF2 Skeleton App のインストールを検討することもできます。これは、オートローディング、名前空間などを設定するための現在のベスト プラクティスを示しています。

https://github.com/zendframework/ZendSkeletonApplication

于 2012-11-04T21:05:04.410 に答える
0

Zend ライブラリの使用中は、次のことを確認してください。

1) インクルード パスに Zend フォルダーの親ディレクトリがあります D:\xampp\htdocs\newsite\zend\library はインクルード パスにある必要があります。

2) PHP がセーフ モードで実行されていません。また、PHP が 5.2 以降または 5.3 以降に更新されており、apc がオンになっている場合は、apc.include_once_override をオフにする必要があります。

それでも動作しない場合は、get_include_path() または phpinfo(); を印刷して検査します。

それだけです。

于 2012-11-04T15:44:27.753 に答える