問題タブ [set-include-path]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 独自の BASE_PATH と set_include_path を定義しますか?
関数 set_include_path() を知りました。この間ずっと、config.php ファイルで定数を定義しました。
そして、後続のすべてのphpファイルに、次のように含めます
一定のアプローチと set_include_path のアプローチ、およびその逆に利点はありますか? 一定のアプローチは時代遅れですか?
php - cron 経由で zend フレームワークを実行するための CLI インクルード パス
Zend Framework を使用してコマンド ライン ユーティリティを作成し、夜間のレポート作成を行いました。付随するサイトと同じ機能を大量に使用しています。手動で実行するとうまく機能しますが、cron で実行するとインクルード パスの問題が発生します。set_include_path で簡単に修正できるようですが、何か足りないのでしょうか?
私のディレクトリ構造は次のようになります。
public_bootstrap.php では、現在のディレクトリに対して問題なく set_include_path を使用しています。
私が正しく理解している場合、commandline_bootstrap.php に絶対パスを入力する必要があるため、cron はすべてがどこにあるかを認識します。私のファイルは次のように始まります:
しかし、cron経由で実行すると、次のエラーが発生します。
PHP 致命的なエラー: require_once(): 必要な '../application/Globals.php' (include_path='/var/www/clientname/library/') を /var/www/clientname/commandline/zfcli.php で開くことができませんでした11行目
コマンドラインを実行してphpinfoをダンプすると、次のように表示されるため、PHPは新しいパスを受け入れていると思います。
include_path => /var/www/clientname/library/:.:/usr/share/pear:/usr/share/php => .:/usr/share/pear:/usr/share/php
ここの構文が少し奇妙に見えることは認めますが、修正方法がわかりません。どんな提案でも大歓迎です。
ありがとう夏
php - パスと奇妙な構造を含める
ハイ。本当に変なサイトを持っていて、今は困っています。これは単純化された構造です
それで。Index.phpは巨大なローダーです。それには線があります:(しかし、私は彼らが違いを作っているとは思いません)
Bonus_DAO.class.phpの内部は次のようなものです
Raportpdf.phpはindex.phpを介して呼び出されます-メールでエラーなしでコンテンツを送信します。しかし、raport.phpにアクセスしたい場合、次のようなエラーが発生します。
どうすればこれを解決できますか?
unit-testing - PHPUnit パスの問題への対処
現在の MVC フレームワーク アプリケーション内から PHPUnit を実行しようとすると、次のエラーが発生します。
そのエラーをいくつかの組み合わせに追跡することができました。
コメントアウトしたら
PHPUnit はテストを実行します
コメントアウトしたら
私は得る
他のすべてのディレクトリをコメントアウトすると、
「再宣言できません」というエラーが表示されます。
実際のテストを実行できる唯一の方法は、set_include_path ステートメントを使用せずに実行し、個々の単体テストによって呼び出されるすべてのクラス ファイルを手動でインクルードすることです。
何か案は?
編集: __autoload 関数と競合しているようです。私はまだ問題に対処する方法がよくわかりません。
php - PHP の名前空間と set_include_path() に問題がある
C:\xampp\htdocsにはController.phpとApplicationHelper.phpが含まれています。 C:\xampp\htdocs\siteにはindex.phpが含まれています。
これが私が得ているエラーです:
致命的なエラー: 17 行目の C:\xampp\htdocs\Controller.php にクラス 'site\controller\ApplicationHelper' が見つかりません
私は名前空間ビジネス全体に不慣れですが、それがその背後にあるものであると100%確信していません. インクルードパスを設定してそのフォルダーを検索しても、ApplicationHelper.phpが見つからないようです。Controller.phpにApplicationHelper.phpを直接インクルードすると機能します。(関連する)コードは次のとおりです。
index.php
Controller.php
ApplicationHelper.php
助けてくれてありがとう!
php - PHP「set_include_path」はどこで有効ですか?
にとファイルを相対的に追加my_path
したいと思います。include_path
include
my_path
私のウェブサイトのメイン PHP ファイルでinclude_path
usingを設定するだけで十分ですか、それともすべての PHP ファイルでこれを行う必要がありますか?set_include_path
php - PHPでset_include_path()を使用する理由と、さまざまなフォルダーからクラスを自動ロードする方法を教えてください。
PHPのインクルードパスとファイルやクラスのインクルードについていくつか質問があります。
以下は、複数のインクルードパスを設定しているコードの簡単なスニペットです。これは別のプロジェクトで見ましたが、理由がわかりません。
過去5年ほどの間、どのプロジェクトでもset_include_path()を使用する必要はありませんでした。
Q1)
では、インクルードパスを設定する目的は正確には何ですか?私はいつもinclude()呼び出しにパスを含めてきました。
Q2)
以下の例では、複数のパスを設定しています。複数の場所にファイルを含める場合、これはどのように機能しますか、目的または正確に何をするのか混乱していますか?
Q3)
これは少し異なる質問ですが、それでもインクルードに関連しています。以下は、クラスの単純な自動ロード関数です。以前はclassesフォルダーがあり、すべてのクラスファイルを自動ロードしていました。現在のプロジェクトでは、以下のように自動ロードするクラスのライブラリがありますが、モジュールディレクトリからクラスファイルを自動ロードする必要がある別のセクションもあります。
したがって、このような場所にある ライブラリクラスを自動ロードする必要があります。
root / contains / library / classes / library_class_files.php
+++ plus +++
このような場所にあるさまざまなモジュール(アカウント、メッセージ、友達、写真、ブログ、フォーラムなど)のクラスをロードします。
root / modules / forums / modules_class_files.php
2つの異なる場所からクラスファイルをロードする必要はないかもしれませんが、ロードする場合、どうすればそれを実行できますか?
php - zendフレームワークを含める適切な方法は何ですか?
Zend Frameworkをダウンロードして、サーバールートのすぐ上(Where /tmp
isなど)に配置しましたが、単一のPHPファイルで認識されません。私は共有ホストを使用しており、これがディレクトリを含める方法です。
set-include-path - include_pathはphpで正常に機能しますが、.htaccessでは機能しません...何が得られますか?
一部のプログラムをあるサーバーから別のサーバーに移動しました。彼らは古いサーバーで作業していました...(ロードされていることはわかっていますが、私が見たところ、違いはありません)。「類似したタイトル」の質問を見ましたが、ここで起こっていることのようなものは見つかりません。過去と同じように、.htaccessファイルを使用してこのパスを設定したいと思います。これまでのところ、私はPHPを使用しています。
...私のhtaccessで私は試しました:
..と:
ただし、.htaccessファイルで動作させることはできません。.phpファイルで動作しますが、簡単に.htaccessファイルで動作するようにしたいと思います。
何か考えやアイデアはありますか?!
php - PHP/Apache はデフォルトで include フォルダを探しますか?
私は最近 set_include_path() を発見し、返されるパスがインクルード ディレクトリへのパスであることを発見しました。
PHP は自動的に includes ディレクトリを探し、include_path をこれに更新しますか?
また、set_include_path で設定したいくつかのパスは、クラス自体の外部で設定すると、クラス メソッド内で使用できないことにも気付きました。
どうしてこれなの?
事前にすべてのアドバイスをありがとう!