|
46 / 46 / 43
Регистрация: 04.10.2012
Сообщений: 224
|
|||||||||||
Парадокс определения существования файла средствами PHP17.09.2015, 15:49. Показов 2342. Ответов 22
Добрый день!
Столкнулся с парадоксом. (CentOS & PHP) В корне сайта (public_root), PHP успешно видит файл
(разумеется, в обоих случаях, что в терминале, что в PHP - относительный путь берется относительно корня, т.е. public_root) Знаю, что в данной области, парадоксов быть не должно ![]() При этом, этот же самый файл, PHP благополучно увидит, если он будет просто на уровне выше корня file_exists ('../file.php') Подскажите пожалуйста в чем может быть проблема?
0
|
|||||||||||
| 17.09.2015, 15:49 | |
|
Ответы с готовыми решениями:
22
Создание bat файла средствами php Парсинг JSON файла средствами PHP
|
|
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,844
|
||||||
| 17.09.2015, 16:14 | ||||||
0
|
||||||
|
33 / 9 / 11
Регистрация: 20.05.2015
Сообщений: 121
|
||||||
| 17.09.2015, 17:02 | ||||||
|
warma2d, если у вас несколько скриптов php, некоторые из которых включены посредством require() или ее разновидностей в другие, то путь во всех включенных скриптах берется от папки самого первого скрипта, куда происходило включение. Соответственно, и '../' во включенном скрипте будет работать не от его папки, а от папки самого первого скрипта.
Для верности проверьте путь, в котором ищете, командой
0
|
||||||
|
46 / 46 / 43
Регистрация: 04.10.2012
Сообщений: 224
|
|||
| 17.09.2015, 17:11 [ТС] | |||
|
Permission denied и errorno 13. Только вот, где описан нумерованный список этих ошибок ? пока нигде не нашел.
0
|
|||
|
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
|
|
| 17.09.2015, 17:47 | |
|
Смотри права на саму папку subdir
0
|
|
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
|
| 17.09.2015, 19:45 | |
|
0
|
|
|
Заблокирован
|
||
| 17.09.2015, 19:56 | ||
|
в апаче может быть закрыт доступ за пределы директории сайта. сплош и рядом..
Добавлено через 59 секунд
0
|
||
|
46 / 46 / 43
Регистрация: 04.10.2012
Сообщений: 224
|
||
| 18.09.2015, 02:20 [ТС] | ||
|
Благодарю, за ответы.
Теперь вопрос сводится к тому, что как проще всего объяснить apache, чтобы он разрешил скриптам подняться выше корня сайта ? Первый раз прочитал длинный конфиг Apache от и до , пытался вставлять разные условия (и в начало конфига, и в конец), но пока не получилось убрать 13 ошибку (подняться выше корня) Подскажите пожалуйста, что следует прописать в Apache конфиг ?
0
|
||
|
Заблокирован
|
||||||
| 18.09.2015, 07:33 | ||||||
|
простейший вариант найти в extra/httpd-vhosts.conf или в самом httpd.conf если не настроены виртуальные хосты, что-то типа
или вообще удалить этот параметр. И быть готовым что ваши скрипты теперь в состоянии принести много вреда .
0
|
||||||
|
46 / 46 / 43
Регистрация: 04.10.2012
Сообщений: 224
|
||||||||||||
| 18.09.2015, 13:50 [ТС] | ||||||||||||
|
Проблема в том, что и раньше можно было подняться выше корня (хотя бы на 1 уровень), но затем опуститься в некую директорию subdir не получается. (т.е. она получается соседняя для public_html) Привожу реальную структуру файлов:
В результате, скрипт говорит, что в public_html файл test.php существует. Файл test.php, который выше корня тоже существует, а тот же самый файл, который в subdir не существует. Для любого файла в ../subdir/test.php PHP пишет, что доступ запрещен. Предполагаю, дело не правах доступа системы Linux. Не в правах PHP, а именно в правах Apache. В главный конфиг Apache, httpd.conf, (вставлял и в начало конфига, и в конец конфига) разные конструкции. Например,
Подскажите пожалуйста, что следует прописать и куда в Apache, чтобы можно было скриптам наверняка гулять где угодно (хотя бы попасть в subdir)
0
|
||||||||||||
|
Заблокирован
|
||
| 18.09.2015, 14:07 | ||
|
если в конфиге апача разремарена строка типа такой Include conf/extra/httpd-vhosts.conf смотрите соответствующий файл и уже там ищите директивы php_admin_value open_basedir
0
|
||
|
46 / 46 / 43
Регистрация: 04.10.2012
Сообщений: 224
|
||||||||||||
| 18.09.2015, 14:37 [ТС] | ||||||||||||
С командой поиска, может быть, поторопился, но всё равно никаких файлов с vhosts в системе нет.
0
|
||||||||||||
|
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
|
||||||
| 18.09.2015, 17:59 | ||||||
0
|
||||||
|
33 / 9 / 11
Регистрация: 20.05.2015
Сообщений: 121
|
|
| 18.09.2015, 19:49 | |
|
warma2d, ну коль уж realpath возвращает false (что может быть как раз когда нет прав на директорию), и так же возникает ошибка доступа при абсолютном пути, то видимо, действительно проблема в правах доступа.
Попробуйте посмотреть здесь http://old.webasyst.ru/support... -tips.html
0
|
|
|
46 / 46 / 43
Регистрация: 04.10.2012
Сообщений: 224
|
|||||||
| 18.09.2015, 19:54 [ТС] | |||||||
|
Сам файл, который нужно задедектить это add.php В корне сайта (public) он спокойно дедектится. На 1 уровень вверх, т.е. в (site.net.local) тоже файл существует, а вот в директории (application), PHP говорит, что этого файла нет. (ради эксперимента менял даже собственника и группу файла, но предполагаю, что при 777 это не сильно влияет)
0
|
|||||||
|
33 / 9 / 11
Регистрация: 20.05.2015
Сообщений: 121
|
||||||
| 18.09.2015, 20:09 | ||||||
|
Еще можно посмотреть, что выдаст
0
|
||||||
|
46 / 46 / 43
Регистрация: 04.10.2012
Сообщений: 224
|
|||||||
| 18.09.2015, 20:13 [ТС] | |||||||
более того, сам PHP говорит (echo getcwd()), что корень сайта это /var/www/html/site.net.local/public
0
|
|||||||
|
33 / 9 / 11
Регистрация: 20.05.2015
Сообщений: 121
|
|
| 18.09.2015, 20:25 | |
|
warma2d, получается, скрипт не может прочитать, что в этой папке ('application'), так как папка ему недоступна для чтения.
Добавлено через 7 минут Поэтому функция file_exists и выдает false
0
|
|
|
46 / 46 / 43
Регистрация: 04.10.2012
Сообщений: 224
|
||
| 18.09.2015, 20:27 [ТС] | ||
|
Может быть, в главном конфигурационном файле Apache, можно как-то сделать явный "777" доступ ? ) В чем может быть проблема пока не знаю...
0
|
||
|
33 / 9 / 11
Регистрация: 20.05.2015
Сообщений: 121
|
|
| 18.09.2015, 20:28 | |
|
А попробуйте не от рута запустить ls -la, что выдаст? Хотя, наверно дребедень сморозил. То же самое и получится) Вообще, странно, что у файлов add и группа, и владелец root
0
|
|
| 18.09.2015, 20:28 | |
|
Помогаю со студенческими работами здесь
20
Проверка существования email средствами java Как узнать кодировку файла средствами php? Алгоритм скачивания множества файла средствами PHP Формирование файла tsv с базы Mysql средствами php Есть ли в php функция определения размера удалленного файла? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|