PHP не может писать вне корня документа независимо от того, что

Запуск виртуальной машины с CentOS 5.7 с типичной установкой httpd.

Я пытаюсь написать файл в папку вне /var/www/html , скажем в /var/somedir

  • Я chmoded somedir с 777
  • Я предал его apache: apache (root: apache тоже не работал)
  • Безопасный_датчик PHP отключен
  • PHP doc_root пуст (т.е. doc_root = )

Я не могу использовать rename() для перемещения чего-либо из корня doc, и я не могу использовать fwrite () для создания файла за его пределами.

Просто, чтобы проверить, я exec'd whoami из php-файла, и он echo'd / возвратил apache при доступе в браузере.

Я думаю, что я ударил Google около 200 поисков об этом до сих пор, и я думаю, что я все еще что-то пропустил.

    Я бы никогда не рекомендовал, чтобы кто-нибудь показывал, как писать папку с другими документами. На самом деле, что меры защиты существуют для чего-то.

    Вместо этого вы можете создать символическую ссылку (ln) только для одной или выбранных вами папок . Это будет, безусловно, более элегантное решение.

    С символическими ссылками вы можете предоставить доступ к любому пути, где хотите.

    http://en.wikipedia.org/wiki/Symbolic_link

    Оказывается, что selinux был фактически включен, хотя мой «парень из Linux» заверил меня, что это не так!