問題タブ [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 - PHPでのインクルードパスの設定が断続的に失敗する
私は両方を試しました:
そしてまた:
.htaccessファイルにあります。
どちらの方法も実際には機能しますが、断続的にしか機能しません。つまり、約37ページのリクエストで正常に機能し、約42ページのリクエストで失敗すると、require()呼び出しが発生し、致命的なエラーが発生してサイトが事実上クラッシュします。
何が起こっているのかをどこから調べ始めればよいのかさえわかりません。
@ cnote
インクルードパスに現在のディレクトリを複製したようです。文字列から「。:」の1つを削除してみてください。
スクリプト内のバージョンは元々
したがって、。:。:は既存のパスから来ていました:
とにかくそれを削除しようとしましたが、問題は解決しません。
php - .htaccessでPHPのinclude_pathにパスを追加する方法
現在私のサイトでは、次のようなステートメントを使用しています。
ネストされたフォルダの深さに応じて。これを行うためのより良い方法があると確信しています。
私は.htaccess
解決策であると確信していますが、それを実装する方法がわかりません。挿入した場合:
...残りのパス(/usr/lib/php
など)を失います。私は素朴に試しました:
もちろん、これはうまくいきませんでした。このリストに単一のパスを追加または追加するにはどうすればよい.htaccess
ですか?
relative-path - MIDL に修飾パスの追加のインクルード ディレクトリを検索させるにはどうすればよいですか?
更新: Microsoft へのサポート コールを開いてからわずか 6 か月後に拒否され、彼らはそれがバグではないと主張しました (ドキュメントには、見られた動作が正しいものではないと明示的に記載されていないため)。彼らはDCRを拒否し、過去 10 年間苦情を聞いていないため、これは明らかに一般的な使用例ではないと述べました。
これは呼びかけです。同じ問題が発生した場合は、Microsoft にサポート コールを開いて、問題を修正する必要があることを Microsoft に知らせてください。Chrome のソース コードでこのコメントを見つけたので、少なくとも誰かが同じ問題に遭遇したことを知っています。
#
.idl ファイルの構築。
#
これは完全な混乱です。MIDL は $OPEN_DIR から実行する必要があり
#
ます。そのインクルード パスを "ui/ie/bla.idl" のような相対パスに適用するのは愚かすぎるためです
#
(現在のディレクトリのみを検索します)。
#
したがって、相対インクルード パスと出力ファイルを修正するには、フープをジャンプする必要があります。
元の質問:
次のファイル構造があります。
C:\first\Foo.idl
C:\second\Bar.idl
Bar.idl
次の行が含まれています。
からコンパイルするときにmidlをコンパイルするにはどうすればよいですか?Bar.idl
C:\second
Foo.idl
直接インポートした場合(指定せずにfirst/
) first
、追加のインクルード ディレクトリとして指定するだけで十分です ( midl /I c:\first Bar.idl
)。Foo.idl
C:\
または、 ( )からコンパイルした場合midl second\Bar.idl
も問題ありません。
問題はC:\second
、コマンド ラインを使用して内部からコンパイルするとmidl /I C:\ Bar.idl
、次のコンパイル エラーが発生することです。
c1 : 致命的なエラー C1083: ソース ファイルを開けません: 'first\Foo.idl': そのようなファイルまたはディレクトリはありません
midlは、指定された追加のインクルード ディレクトリのいずれかではなく、現在のディレクトリに相対する場合にのみ相対パスを検索し、追加のインクルード ディレクトリを修飾されていないファイル名にのみ使用する場合にのみ、相対パスを検索するように見えます。この動作はimport
キーワードに固有です。結果を使用include
することは期待どおりです。
ローカル マシンにファイルがある場合はmidlがそのバージョンを取得し、それ以外の場合はサーバーからファイルを取得するように、2 つの異なる追加のインクルード ディレクトリを追加できるようにしたいと考えています (そのためchdir
、ルート フォルダーへの ing はオプションではありません)。 )。
これを回避する方法はありますか?
php - PHP インクルード パス - ファイルが「./」プレフィックスで参照されている場合、インクルードは失敗します
インクルード ファイル自体に別のファイルが含まれていて、それをドット プレフィックスで参照している場合、インクルードに問題があります。たとえば、 inc1.php、inc2.php、およびsubdir/test.phpという 3 つのファイルがあり、その内容は次のとおりです。
サブディレクトリ/test.php:
inc1.php:
inc2.php
ここに示すこのインクルード ツリーは、ストリームを開くことができませんでした: No such file or directoryエラーで失敗します。inc1.php に単純なrequire("inc2.php");が含まれている場合に機能します。、「./」プレフィックスなし。追加した "../。" 動作させる試みとしてインクルードパスに追加しましたが、効果はありませんでした。
「./」プレフィックスを使用してインクルードを実行する以外に、inc1.php と inc2.php が書き込み可能ではなく、subdir/test.php のみを変更できると仮定すると、ここでの解決策は何ですか? test.php 内から inc1.php をどのように含めることができますか?
参考までに、PHP 5.2.9 を使用しています。
visual-studio-2008 - C++ とヘッダー ファイルに関する Visual Studio 2008 の奇妙な点
Visual Studio 2008 ソリューション ファイル内に大規模な C++ プロジェクトがあり、すべてが正しくコンパイルおよびビルドされています。ここまでは順調ですね。
ただし、IDE のコード ビューアー ウィンドウからヘッダー ファイルを直接開こうとすると、それらのヘッダー ファイルのフォルダーの場所が [プロパティ] ページの [追加のインクルード パス] セクションに列挙されているにもかかわらず、ヘッダー ファイルが見つかりません。
たとえば、次の C++ コード フラグメントは正常にビルドされます。
ただし、ヘッダー ファイルの名前のいずれかを右クリックし、コンテキスト メニュー オプションの [ドキュメントを開く] を選択すると、次のエラー ダイアログ ボックスが表示されます。
前述のファイル ctrl_word.h は、実際には上記のフォルダーのいずれにも存在しませんが、ビルド システムは追加のインクルード ディレクトリを検索して問題なく見つけます。
私がこれについて心配している主な理由は、IDE 内で実行するように構成した Lint ツールによって、同様の「ファイル X を開けない」という動作が見られるためです。
何が問題なのかについてのアイデアはありますか?
php - php相対パスと絶対パス
絶対パスを使用すると相対パスよりも処理時間が速くなるphpファイルを含めると、私はそれを読みました。
何を使うことをお勧めしますか?
また
あるいは
それとも私が本当に心配してはいけないことですか?
php - カスタム PHP ライブラリを include_path に追加する
PHP ライブラリ ファイルを include_path に追加して、そのサーバーで実行されているアプリケーションのどこからでもアクセスできるようにしたいと考えています。php.ini の include_path の構文に従って追加しようとしましたが、機能しません。get_ini("include_path"); を試しました。値を完全に取得しました。しかし、私の機能は私のアプリケーションには含まれていません。
zend-framework - 新しい Zend_Loader_Autoloader がファイルを見つけられない
ZF 1.7 から ZF 1.9 にアップグレードしたばかりですが、オートローダーを除いて、ほとんどすべてが正常に動作します。
年:
新しい:
自動ロードする必要があるファイルは、ほとんど名前空間がありません (事前名前空間による大きなプロジェクトであるため)。これらは次のディレクトリにあります。
- /アプリケーション/コントローラー
- /共通/モデル
- /図書館
- /ベンダー
/library/Form.php が見つからないことを除いて、サイトは正常に動作
しているようです。以前はできていましたが、もうできません。require_once 'library/Form.php' を追加すると機能しますが、それは必要ないはずです。また、いくつかの場所でそれを開始すると、オートローダーを放棄してハードコードする必要があるのではないかと心配しています。すべて含まれています。「setFallbackAutoloader(true)」を追加し、インクルード パスに「library」を含めると修正されると考えましたが、修正されませんでした。
私のインクルードパスは次の
とおり
です
。/lofye/Documents/htdocs/mysitename/library
:/Users/lofye/Documents/htdocs/mysitename
どんな助けでも大歓迎です!
php - 致命的なエラー:クラス'Zend_Controller_Action'が見つかりません
この問題に密接に関連するいくつかの答えを見つけましたが、それでも解決できません。インクルードパスに問題があると言われていると思いますが、見つけたすべての解決策を試しましたが、役に立ちませんでした。
エラーは次のとおりです。
includeステートメントは次のとおりです。
私は何時間もフォーラムを精査してキーボードに頭をぶつけてきました。私はzendとphpを初めて使用します。このようなものは私に王室の頭痛の種を与えました。パスにコントローラーを明示的に追加しました。何を見落としているのかわかりません。
ところで、私とサイトはプライバシー上の理由から編集された名前です。
私は解決に永遠に感謝しています。
mjs-編集:
インクルードが少し不安定であることに気づきました。だからここにやり直しがあります:
var_dumpの出力:
Zend / Controller/Actionが../libraryの下にあることに気づきました。だから、なぜアプリがそれを見つけられないのか分かりません。
PHPDebugからIndexControllerを実行すると、