タグ付けされた質問 「symlink」

9
Apacheはシンボリックリンクを追跡しません(403 Forbidden)
UbuntuでApacheを設定するのに問題があります。私はこのガイドに従ってきました。 # /usr/sbin/apache2 -v Server version: Apache/2.2.17 (Ubuntu) Server built: Feb 22 2011 18:33:02 私の公開ディレクトリ/ var / wwwは、そこに配置されたPHPページを正常に提供および実行できます。しかし、/ var / wwwにホームフォルダー内のディレクトリを指し、そこにページを提供するシンボリックリンクを作成したいと考えています。 [root /var/www]# ll total 36 drwxr-xr-x 3 root root 4096 2011-09-11 14:22 . drwxr-xr-x 14 root root 4096 2011-06-04 22:49 .. lrwxrwxrwx 1 root root 16 2011-09-11 13:21 about …

6
sphinxは、ルートドキュメントの下のディレクトリにないドキュメントにリンクできますか?
私はSphinxを使用してPython以外のプロジェクトを文書化しています。./doc各サブモジュールに、submodule_name.rstそのモジュールを文書化するためのファイルを含むフォルダーを配布したいと思います。次に、これらのファイルをマスター階層に吸い込んで、デザイン全体の仕様を作成します。 すなわち: Project docs spec project_spec.rst conf.py modules module1 docs module1.rst src module2 docs module2.rst src 次のproject_spec.rstように、マスタードキュメントのtoctreeにファイルを含めようとしました。 .. toctree:: :numbered: :maxdepth: 2 Module 1 <../../modules/module1/docs/module1> ただし、次のエラーメッセージが表示されます。 警告:toctreeには、存在しないドキュメントu'modules / module1 / docs / module1 'への参照が含まれています ../どういうわけかドキュメントパスで使用することはできませんか? 更新:conf.pyの場所を追加しました 更新:以下のインクルードトリックを除いて、これはまだ(2019)不可能です。前進し続ける未解決の問題があります:https://github.com/sphinx-doc/sphinx/issues/701


3
pwdをシンボリックリンクされたディレクトリの実際のパスに変更するにはどうすればよいですか?
これはかなり基本的な* nixの質問です: 次のシンボリックリンクの作成が与えられます。 ln -s /usr/local/projects/myproject/ myproject ...私のホームディレクトリ/ home / jvf /から、myprojectシンボリックリンクを入力すると、pwd / home / jfv / myproject /が表示されます。ここで、シンボリックリンクしたディレクトリの親ディレクトリを入力したいのですが、cd ..コマンドを実行すると、ホームディレクトリ/ home / jfv /にしか戻りません。とにかく、入力したシンボリックリンクトレイルをエスケープして、代わりにmyprojectディレクトリの実際のパスに等しいpwdを設定することはできますか?つまり、pwdを/ home / jfv / myproject /から/ usr / local / projects / myproject /に変更しますか? ありがとう:)
83 linux  symlink  pwd 

2
Rubyで1つのコマンドでディレクトリ/ファイル/シンボリックリンクが存在するかどうかを確認する方法
ディレクトリ/ファイル/シンボリックリンクなどを検出する単一の方法はありますか?エンティティ(より一般化された)は存在しますか? ディレクトリ、ファイル、またはシンボリックリンクである可能性のあるパスの配列をチェックする必要があるため、単一の関数が必要です。私File.exists?"file_path"はディレクトリとファイルで機能することを知っていますが、シンボリックリンク(であるFile.symlink?"symlink_path")では機能しません。

7
file_get_contentsが間違った結果を得る
更新 問題を解決して回答を投稿しました。ただし、私のソリューションは100%理想的ではありません。私はむしろのみ除去するであろうsymlinkからcacheとclearstatcache(true, $target)か、clearstatcache(true, $link)それは動作しません。 また、シンボリックリンクのキャッシュを最初から防ぐか、シンボリックリンクを生成した直後にキャッシュから削除します。残念ながら、私はそれで運がありませんでした。何らかの理由でclearstatcache(true)シンボリックリンクを作成しても機能しない場合でも、キャッシュされます。 私は私の答えを改善し、それらの問題を解決できるすべての人に賞金を喜んで授与します。 編集する clearstatcache実行するたびにファイルを生成してコードを最適化しようとしたので、シンボリックリンクごとに1回だけキャッシュをクリアする必要があります。何らかの理由で、これは機能しません。clearstatcacheがsymlinkパスに含まれるたびに呼び出す必要がありますが、なぜですか?私のソリューションを最適化する方法がなければなりません。 で使用PHP 7.3.5していnginx/1.16.0ます。file_get_contentsを使用すると、誤った値が返されることがありますsymlink。問題は、シンボリックリンクを削除して再作成した後、その古い値がキャッシュに残っていることです。正しい値が返されることもあれば、古い値が返されることもあります。ランダムに見えます。 私はキャッシュをクリアするか、キャッシュを防止しようとしました: function symlink1($target, $link) { realpath_cache_size(0); symlink($target, $link); //clearstatcache(true); } キャッシュを無効にしたくないのですが、file_get_contentsで100%の精度が必要です。 編集する 私のソースコードは長すぎて複雑であるため、投稿できません。問題を再現する最小限の再現可能な例(index.php)を作成しました。 <h1>Symlink Problem</h1> <?php $dir = getcwd(); if (isset($_POST['clear-all'])) { $nos = array_values(array_diff(scandir($dir.'/nos'), array('..', '.'))); foreach ($nos as $no) { unlink($dir.'/nos/'.$no.'/id.txt'); rmdir($dir.'/nos/'.$no); } foreach (array_values(array_diff(scandir($dir.'/ids'), array('..', '.'))) as …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.