私はArch Linuxを実行しており、そこにapache、php、mysqlがインストールされています(mariadbではありません)。オペレーティングシステム間でファイルを共有するためにntfsファイルシステムに大きなパーティションを設定したため、Archルートパーティションのサイズが制限されます(私はWindowsデュアルブートを使用します)。だから私はApacheのドキュメントルートを対応するntfsパーティションに移動したいと思います。
問題は、php
ntfsパーティションに保存されているファイルが何も表示しないことです。役に立ちませんini_set('display_errors')
。唯一のヒントは、JavaScriptコンソールが言うことですinternal server error
。
次のようにfstabを使用して、起動時にNTFSパーティションを自動的にマウントします。
UUID=3AD4628C7D357A55 /media/data ntfs-3g defaults,uid=1000,gid=100,umask=022,windows_names,locale=en_US.utf8 0 0
ファイル権限は私のユーザーが所有者としてindex.php
付与します。-rwxr-xr-x
を削除すると、ディレクトリのリストindex.php
がlocalhost
正しく表示されます(インデックスをオンにします)。
ではどうすればいいですか?
修正する
エラーログには次のように表示されます。
PHP Fatal error: Unknown: Failed opening required '/media/data/Projects/www/html/test.php'
(include_path='.:/usr/share/pear') in Unknown on line 0, referer: http://localhost/
答え1
最善の選択肢は、Apacheが実行されている同じサーバーのローカルディレクトリにApacheドキュメントルートを設定することです。その後、マウントを介してコンテンツをインポートする必要がある場合は、ドキュメントのルートにあるシンボリックリンクを使用してください。
実際、この設定を使用する唯一の方法は、インストールから静的コンテンツをインポートすることです。クロスマウントを試みる場合は、リモートマウントサーバーでPHPを実行し、ローカルのApacheを介して応答を受け取ります。頑張ってください。これがあなたがやっていることなら、あなたの解決策を考え直す必要があると思います。私が間違っている可能性があります。