LINUX.ORG.RU
ФорумAdmin

PHP-скрипту отказано в доступе. Некорректная установка веб-сервера?

 , , , ,


0

2

День добрый. На домашний Дебиан-сервер для разработки/тестов поставлена связка апач+РНР+MySQL. Вроде всё работает. Ставлю yii. Вроде без ошибок, всё чистенько. Далее под рутом запускаю в консоли РНР-скрипт (такая у yii карма), получаю ошибку «Отказано в доступе». Проверяю владельца ВСЕХ директорий и файлов веб-сервера - рут. Ставлю НА ВСЕ директории и файлы сервера права 777. Фигушки, то же самое!

Подозреваю путаницу с правами и владельцами (на дебиан позже ставил OMV, а тот своё видение на систему имеет), но никак не могу ухватить суть проблемы. Так как сообщение вылетает на русском, подозреваю, что не апач бастует, а система (апач, вроде, по-аглицки ругается, да в логах отмечается).

Господа знатоки, где собака порылась, есть мнения?

Значит где-то проглядел права.

metrokto ★★ ()

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

amomymous ★★★ ()

Зачем ты под рутом запускаешь в консоли PHP-скрипт? Зачем ты выбрал самый печальный php фреймворк?

zz ★★★★ ()

php под рутом это анрил. Мало того, что это мина замедленного действия, так как любой школьний найдя путь забросить шелл получит полный контроль над серваком, так и на хостинг его не закинешь. Откуда вообще возникла такая мысль делать это от рута?

invokercd ★★★★ ()

так... по порядку. Права тридцать раз перепроверил... поэтому уверен; по поводу рута+РНР - сервак тестовый, атак и всего прочего не опасаюсь; по поводу выбора фреймворка - не по теме, но отвечу: потому, что на нём не писал, надо, пока время есть, пробелы устранить... Ну, а почему от рута запускаю - задолбался пробовать, не работает, вражина, вроде и просто всё, а не работает. Вот уже и под рутом пытаюсь...

Dimanoss ()

Запусти php5-cli <script> под gdb. Наверняка он к несуществующему файлу обратиться пытается, права у него все есть.

selivan ★★★ ()
Ответ на: комментарий от alozovskoy

и всё равно, что там в скрипте, хоть абсолютно пустой...

Dimanoss ()
Ответ на: комментарий от Dimanoss

Да, если правильно прописан интерпретатор в sha-bang и есть права на выполнение.

alozovskoy ★★★★★ ()
Последнее исправление: alozovskoy (всего исправлений: 1)
Ответ на: комментарий от Dimanoss

Тебя же правильно спросил человек: PHP-скрипту отказано в доступе. Некорректная установка веб-сервера? (комментарий) Удели ему внимание.

thesis ★★★★★ ()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от Dimanoss

Не «слетел где-то».
Для запуска скрипта путем ./script.php файл script.php должен удовлетворять двум требованиям: во-первых, права на запуск (х), во-вторых, шебанг, т.е. первая строчка скрипта должна иметь вид «#!/путь/до/интерпретатора». В твоем случае что-то вроде:
#!/usr/bin/php-cli

Скрипты веб-приложений, выполняемые сервером, этим условиям удовлетворять не должны.

thesis ★★★★★ ()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от Dimanoss

В sh и bash - вроде бы нет. А если и да, то так не делают.

thesis ★★★★★ ()
Ответ на: комментарий от Dimanoss

Не правильно запускаете. Команда должна выглядеть так:

php /server/http/testscript.php

lucentcode ★★★★★ ()
Ответ на: комментарий от Dimanoss

Это не удобство, а глупость. В Unix принято полагаться на содержимое файла, на его формат, а не на расширение. Лучше использовать Shebang, чем полагаться на расширение.

lucentcode ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.