1

私たちのオフィスで動作する PHP のスクリプト/アプリがあり、それを別のオフィスに正常に展開しました。現在、第 3 のオフィスでは、特定の glob() 関数が空の文字列を返します。

すべてのオフィスで debian 安定版が使用されているため、ソフトウェア パッケージのバージョンは同じである必要があります。私が考えることができる最善のことは、その特定のディレクトリに対する権限が不十分であることです。

これは私がすでに行っています:

  • 仮想ホスト内の open_basedir ディレクティブに「/share」を末尾の「/」なしで追加して、再帰的にします -> phpinfo() で動作することが確認されました
  • '/share' にパーミッションを設定: 'setfacl -Rm d:u:www-data:rwx,u:www-data:rwx /share' その後、'/share' を再マウントし、apache を再起動して新しいパーミッションを確認します使用中です。-> 'getfacl /share' で動作することが確認されました: www-data が /share とその下のすべてのディレクトリに対する読み取り/書き込み権限を持っていることを確認します
  • 「セーフモード」がオフであることを確認しました
  • '/share': 'chown -R username/groupname /share' を所有する POSIX グループに www-data を追加しました。これは 'ls -l' によって検証されます。そのディレクトリのPOSIXパーミッションは「drwxrws---+」です

私は何を見落としていますか?

4

1 に答える 1

0

それを見つけました、そしてもちろん、私は頭を叩くことができるほど明白です. 「/share」を含むフォルダーには厳密なアクセス許可があり、ユーザー「www-data」が「/share」に入るのを禁止していた可能性があります。一緒に考えてくれてthx...

于 2012-07-20T16:49:31.430 に答える