問題タブ [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.

0 投票する
1 に答える
900 参照

c++ - xcodeインクルードパスの競合

MSVSで#include<someHeader>を実行すると、#include"someheader"に含まれているヘッダーとは別のフォルダーで検索されます。同じことがxcodeにもあるはずですが、機能しないようです。このため、stdヘッダー(String.hなど)と同じ名前のローカルヘッダーと競合し、stdヘッダーを含めることができません。プロジェクトオプション「常にユーザーパスを検索する」を変更しようとしましたが、それでも機能しません。このオプションからのヘルプメッセージは、それが私の問題を解決するだろうと言っていますが...

有効にすると、#include<header.h>スタイルと#include"header.h"スタイルの両方のディレクティブが「HeaderSearchPaths」の前にある「UserHeaderSearch Paths」のパスを検索し、その結果、ユーザーヘッダー( #include <header.h>を使用する場合、独自のString.hヘッダーとして)がシステムヘッダーよりも優先されます。これは、「ユーザーヘッダー検索パス」で提供されるパスの-iquoteフラグを使用して行われます。無効になっていて、コンパイラが個別のユーザーパスを完全にサポートしている場合、ユーザーヘッダーには次の方法でのみアクセスできます。

「header.h」スタイルのプリプロセッサディレクティブをインクルードします。

下位互換性の理由から、この設定はデフォルトで有効になっていますが、無効にすることを強くお勧めします。[ALWAYS_SEARCH_USER_PATHS]

これを解決する方法を知っていますか?ヘッダーファイルの名前を変更したり、プロジェクト設定から検索パスを削除したり、ローカルファイル(../../ ... /SomeFolder/SomeHeader.h)への相対パスを使用したりしたくありません。

0 投票する
1 に答える
1786 参照

selenium-rc - Selenium RC - クラス PHPUnit_Framework_TestCase を再宣言できません

これは、さまざまな場所でネット上で見つけましたが、実際の解決策はありません。テストを実行するためのデフォルトのコードは

これにより、次のエラーが表示されます

Fatal error: Cannot redeclare class PHPUnit_Framework_TestCase in /usr/lib/php/PHPUnit/Framework/TestCase.php on line 115

私のインクルードパスは次のようになります

.:/usr/lib/php/ZendLatest/library/:/usr/lib/php/:./PEAR/

誰でもこれを修正するのを手伝ってもらえますか? クラスが再宣言されている場所は明らかではありません。上記のファイルの 115 行目ですか、それとも別の場所ですか?

ありがとう

0 投票する
3 に答える
1806 参照

include - include_path が php.ini で指定されたとおりに更新されない

php.ini に include_path を設定しました。

それから私は電話しますphpinfo()

で指定したものとinclude_pathは異なりますphp.ini

何が原因でしょうか?

phpinfo()呼び出しで「ロードされた構成ファイル」で指定されたのと同じ php.ini を変更しました。php が apache モジュール経由で呼び出され、apache を再起動しました - これも役に立ちません。

Windows Vista、Apache/2.2.14 (Win32) PHP/5.3.1 を使用しています。

PHP ファイルの先頭で呼び出しset_include_path("...")ますが、これは一時的な回避策としてのみ有効です。

0 投票する
2 に答える
383 参照

php - パスの混乱:DOCUMENT_ROOTに対して相対的/絶対的/相対的?

私はPHPを学び始めたばかりで、ほとんど同じような質問に対するいくつかの回答を読みましたが、役に立ちませんでした。

私はいくつかのファイルを持っています:

index.php含まれているのでfolder1\file.php、それは本当に簡単です。次に、をfolder1\file.php含みfolder2\file.phpます。私が読んでいる本はこれをするように言っています私はこれを中に書かなければなりませんfolder1\file.php

それで、基本的になぜ彼らはこれをしなかったのですか?

私が理解している限り、すべてのパスは常に最初のスクリプトの場所を基準にしており、私のマシンでは問題なく機能します。

.\folder\file.phpディレクトリを深く移動したり、Webサイト全体を別のマシンにコピーしたりしても、機能し続ける 理由がまだわかりません 。

マニュアルによると:パスが定義されている場合(絶対(ドライブ文字または\Windows、 Unix / Linuxシステムで始まる)または現在のディレクトリからの相対パス(または/で始まる))、インクルードパスは完全に無視されます。たとえば、ファイル名が。で始まる場合、パーサーは親ディレクトリを検索します。...../

0 投票する
1 に答える
908 参照

php - PHPには、htaccess、allow_url_fopenが含まれます

シナリオ:ホストサーバーでの開発、htaccess =基本認証、allow_url_fopen=オン

問題:ファイルをURLの場所でインクルードすると、htaccessがインクルードをブロックし、401エラーを返します。

既知の解決策:相対パス(../)、$ _SERVER['DOCUMENT_ROOT']。

質問:別の方法はありますか?このシナリオでは、可能であればURLを保持したいと思います。また、フッターにインクルードファイルを使用していますが、代わりにtplを使用する必要があります(tplについては何も知りません)。

編集:私は現在、私のフォルダ構造を台無しにしています。example.comとsecure.example.com(sslがインストールされている場所)があります。したがって、安全なフォルダにルートからのファイルを含めたいと思います。'document_root'呼び出しは(rootではなく)安全なフォルダーにしか移動せず、ファイルを移動すると相対パスが機能しない可能性があるため、URLを使用した方が簡単かもしれないと思いました。

0 投票する
5 に答える
7983 参照

c++ - ライブラリインクルードパスをbashから変更するにはどうすればよいですか?

Kubuntuにソフトウェアが正しくインストールされています。

現在、いくつかのライブラリにパッチを適用してテストしています。

公式ライブラリの代わりにパッチを適用したライブラリをロードするように、bashからソフトウェアを起動するにはどうすればよいですか?

例:
公式ライブラリは/ usr / lib /にあり
ます私のパッチライブラリ(テスト開発中に使用されます)は/ home / user / dev /lib/にあります

私は試した:

しかし、役に立たない。

bashから設定できるソリューションが望ましいのですが、それが不可能な場合は、このC++ソフトウェアのcmakeファイルを変更することもできます。

目的は、バニラライブラリ、またはパッチを適用したライブラリを使用してアプリケーションを簡単に起動し、違いを確認できるようにすることです。

編集:それはKDE.soファイルです

私がテストしているライブラリはKDE4ライブラリです。公式ライブラリは/usr/ lib /kde4/にあります。そのディレクトリでは、ライブラリのいずれもlibプレフィックス で始まりません。

私がするかどうか:

また

ライブラリはまったくリストされていません。

一方、元のライブラリを/ usr / lib / kde4 /から移動すると、アプリケーションは起動しますが、対応する機能が失われます。

KDE4ライブラリは特定の方法でロードされますか?設定する変数が違うかもしれません...

編集2

すべての答えは良くて便利です...残念ながら、問題はlibパス設定に関連していないようです。プラグインアーキテクチャを扱っていますが、.soロードパスがアプリケーションのどこかにハードコーディングされているようです。何が起こっているのかを理解するために、ソースコード内でもっと時間を費やす必要があります...すべてに感謝し、+1します。

0 投票する
5 に答える
113829 参照

c++ - GCCのデフォルトのインクルードディレクトリは何ですか?

gccを使用して非常に単純なソースファイルをコンパイルする場合、stdioやstdlibなどの標準のインクルードファイルへのパスを指定する必要はありません。

GCCはこれらのファイルを見つける方法をどのように知っていますか?

/usr/include内部にパスが配線されていますか、それとも他のOSコンポーネントからパスを取得しますか?

0 投票する
1 に答える
22 参照

file - Webサーバー上の同じレベルにあるファイルをどのように参照しますか?

register.phpでheader.incを参照したいのですが、どうすればよいですか?

register.phpでheader.incを参照したいのですが、どうすればよいですか?

0 投票する
2 に答える
1371 参照

php - Eclipse PDTの内部では、プロジェクトプロパティの「PHPインクルードパス」の目的は何ですか?

phpエクスプローラーでプロジェクトフォルダーを右クリックすると、php.iniのinclude_pathプロパティを編集しない「Phpincludepath」オプションがあります。したがって、このオプションを使用してインクルードパスを指定しても、プロジェクトと同じですが、その目的は何ですか?

0 投票する
1 に答える
1616 参照

php - include_path OSX 10.6.6 + PHP 5.3.3 + PEAR で起こりうる問題

わかりました。始める前に、OSX/BSD の話題に関しては、私は完全に無知であるとだけ言っておくべきだと思います。私は過去 1 週間ほど MBP を取得したばかりで、HEAPS を学習しています。それにもかかわらず、私はまだいくつかのことを頭に入れようとしているので、優しくしてください. :)

さて、私の問題に進みます。数日間、ローカル開発環境をセットアップしようとしています。OS に付属の Apache 2.2 と PHP 5.3.3 を有効にしました。また、MySQL、Homebrew を手動でインストールし、BIND をセットアップしました (vhost の管理を容易にするため)。PEAR もインストールする必要があることに気付くまで、すべてがうまく機能しているように見えました。

残念ながら、私の会社の製品の重要な部分の多くは PEAR ライブラリに大きく依存しているため、先に進む前にすべてが稼働していることを確認する必要がありました。PEAR をインストールするには、次の手順を実行しました。

  1. $ cd /usr/local/
  2. $ カールhttp://pear.php.net/go-pear | 須藤php
  3. $ php -q go-pear.php
  4. PEAR のインストール手順に進む
  5. $ mate ~/.bash_profile
  6. /usr/local/bin を $PATH 変数に追加しました
  7. 保存して閉じた TextMate
  8. $ which pear (PEAR 実行可能ファイルの場所を確認)
  9. $ php -r "phpinfo();" | | grep '.ini' (現在の php.ini の場所を確認するため)
  10. $ mate /etc/php.ini
  11. 「include_path」設定を「.:/usr/local/PEAR」に変更しました
  12. 保存して閉じた TextMate
  13. $ sudo apachectl 再起動
  14. 結果に満足したので、いくつかの重要な PEAR パッケージ (HTTP、NET など) のインストールを開始します。

次に、SVN リポジトリの 1 つの最新リビジョンのチェックアウトを終了し、アプリをインストールします。ブラウザ経由でアクセスしようとすると、次のようなエラーが発生します。

これらのファイルの場所を確認できます。それらは存在し、適切なディレクトリにあります。私の理解では、'.:/usr/local/PEAR' の 'include_path' を使用すると、PHP は最初に呼び出しスクリプトと同じディレクトリを検索し、何も見つからない場合はリスト内の次のパスに移動します。最後のケースでは、/usr/local/PEAR である必要がありますが、何も表示されません。

エラー レポートからわかる唯一の奇妙な点は、2 番目のセクションの次のビットです。

「.:/usr/local/PEAR」の後にセミコロンがあり、別の (有効な) パスが追加されています。この特定のパスについては心配していませんが、セミコロンが原因で、PHP が最初のコロン以降のすべてを単一のパスと見なしてしまうことが懸念されます。その場合、PHP が PEAR ライブラリを見つけられないのは理にかなっています。

私が言及したことを考えると、他の誰かがこの問題について何らかの理由を考えたり、洞察を提供したりできますか? ありがとうヒープス!

編集:

よし、これで解決。ターミナルで次のコマンドを実行しました。

ああ、私は次のことを見つけました:

「;」の置き換え PATH_SEPARATOR を使用すると、問題がうまく修正されました。

ジェイコブに感謝します!:)