Почему рабочее разрешение PHP-скрипта отличается в зависимости от сервера? - PullRequest
1 голос
/ 16 июня 2009
<?PHP

print "hello";

?>

Я пишу этот код и сохраняю как "1.php";

Затем я загружаю этот скрипт на свой сервер.

У меня 8 учетных записей на разных хостинг-серверах.

И я заметил, что есть 2 типа настройки сервера.

(1) * * 1 010 «тип А»
например, sqweebs.

Нам нужно установить разрешение для файла PHP как 640.
Это означает, что сервер sqweebs требует от нас
дать групповое разрешение на запуск скрипта PHP.

Если я установлю 604, то сервер сгенерирует такой errors.like

Warning: Unknown: 
failed to open stream:
 Permission denied in Unknown on line 0

Fatal error: Unknown: 
Failed opening required 
'/www/sqweebs.com/1.php' 
(include_path='.:/blahblah') 
in Unknown on line 0

* * Тысяча двадцать-одиной (2) * * тысяча двадцать-дв С другой стороны, есть другой тип
серверы в этом мире.

«Тип Б»,
например, izfree.

На этом сервере я обнаружил, что
Я могу заставить скрипт PHP работать, если я дам его
604 как разрешение.


Итак, я хочу знать, почему существует много настроек сервера,
и в чем причина, и некоторые другие связанные
мнения.

например, какой сервер мне следует использовать, и т. Д. И т. П.

Ответы [ 3 ]

1 голос
/ 16 июня 2009

Проблема, вероятно, связана с использованием бесплатных хостов. Они добавляют ограничения сервера и, скорее всего, отключают / включают определенные ограничения, которые, по их мнению, подходят для администрирования того, как вы можете вести себя на их сайте.

0 голосов
/ 16 июня 2009

веб-сервер ожидает, что файл должен иметь разрешение для пользователя, от имени которого он работает, открывать и запускать его.

Итак, если веб-сервер (скажем, Apache) работает как www, тогда www должен иметь доступ для чтения к файлу. (некоторые запускают apache как www, а некоторые запускают как apache, или никто).

Когда вы загружаете файл, в зависимости от того, как установлен umask, разрешение на файл устанавливается так. (таким образом, на одном хосте файл может иметь разрешение 655, а другой - 600, если разрешение не установлено явно).

Всегда полезно, если вы немного знаете об ОС, на которой вы обычно развертываете свои приложения. В основном, PHP развернут в системе * nix, и схема прав доступа почти (почти всегда) одинакова во всех системах * nix.

Попробуйте получить «Руководство по администрированию системы Unix» (Evi Nemeth & Co). Его довольно весело читать и легко понять (это старая редакция .. но разрешения Unix не изменились)

0 голосов
/ 16 июня 2009

Вероятно, это зависит от разрешений и от того, под какой группой / пользователем работает Apache. Если он работает с вашими правами, у вас все будет в порядке с 600, если apache даже не входит в ту же группу, что и вы, вам, вероятно, нужно что-то вроде 604. Все, что я говорю, это то, что это зависит от конфигурации сервера И файла разрешения. Это дикая догадка, но если вам действительно нужно что-то вроде 604, это может быть признаком того, что потенциально что-то не так, и другие пользователи могут заглянуть в ваш домашний каталог ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...