Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Основы PHP...

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Открыть новую тему     Написать ответ в эту тему

Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny child

Цитата:
500й ошибки в коде phph конкретном - вот этого уже нигде и никак не найду,

сервер и не может знать о другом месте.
смотреть лог ошибок сервера, там будет чуть больше деталей.  
500 ошибка это HTTP ошибка, говорящая о том, что тот скрипт, что запускается сервером, имеет проблему. или проблема с конфигурацией сервера. смотреть лог ошибок сервера.
 
 
правда это

Цитата:
error_reporting(E_ALL);
ini_set('display_errors', 1);

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

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 00:16 30-04-2022 | Исправлено: Mavrikii, 04:55 30-04-2022
destiny child



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
суть в том, что это рабочий сервер/код телеграм-бота. Доступ ток один - рутовый.
Да, все это хреново. Нужен спец. на ставке. Но что есть-то есть.
И понять причину появления ситуации "скрипт, что запускается сервером, имеет проблему. или проблема с конфигурацией сервера" хотелось бы на постоянной основе и самостоятельно. А не привлекая каждый раз кого-то.  
Поэтому, если можно - попробуем пока что пройтись по каким-нить привычным шагам - вы их озвучиваете - я пробую и смотрю что и как.
И еще раз - сервера в привычном месте статичной установки по учебнику нет. Есть докер-контейнер со всем содержимым. Если есть возможности в нем искать/читать "смотреть лог ошибок сервера" - было бы здорово...

Всего записей: 3306 | Зарегистр. 01-04-2006 | Отправлено: 21:06 02-05-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny child

Цитата:
Если есть возможности в нем искать/читать

если настроили все правильно, все смотрится по тому же пути, что и в обычных linux системах.
/var/log/apache2/error.log, к примеру.. или может немного отличаться. смотреть конфиг вебсервера.
 
попробовать запустить из командной строки основной файл. с теми настройками в начале файла он должен напрямую выводить ошибку, если она не очень фатальная.  странно, что не показывает при обращении браузером.
 

Цитата:
Есть докер-контейнер со всем содержимым.

у к нему можно подключиться через ssh, к примеру.

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 23:31 02-05-2022 | Исправлено: Mavrikii, 03:43 03-05-2022
destiny child



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii (пост)
Цитата:
странно, что не показывает при обращении браузером.

работы с браузером нет и быть не может. Сервер для работы телеграм-бота служит. Т.е. всё, что на нем работает - подчинено правилам работы телеграм-бота и связи тока между пользователем телеги и этим сервером. А у телеги нет опции "открой мой чат в браузере и потыкай там куда-нить".
И ошибка возникает именно при ПОСТзапросе, т.е. при подаче каких-то параметров на страницу сервера. И нигде нет детального логирования этого типа запросов - ЧТО именно туда постилось... Ну или я не понимаю где это искать. А именно и хотелось бы понять - по каким основам надо делать подобные раскопки. Тот же веб-сервер - он тоже в докер-контейнере. И нет его управляющих файлов/настроек в обычных местах, что перечисляют в инете/в справке. Всё где-то в виртуальной ФС этого долбанного контейнера.
 
Я бы с удовольствием попробовал бы поотправлять какие-нить POST запросы на адрес сервера, как бы от лица пользователя телеграм-бота. НО  - в каком виде они должны улетать? Я попробовал спросить об этом во флудильне http://forum.ru-board.com/topic.cgi?forum=33&topic=9888&start=1500#13 но пока ничего нет в ответах. Хотя я даже думаю, что именно ЭТИ запросы от лица пользователя и нельзя самому отправить. Вроде как можно только эмулировать команды от лица управляющего центра Телеги над ботами. Вроде того как - проверить статус чата, отослать сообщение В ЧАТ бота ДЛЯ пользователя Х (т.е. ток в одну сторону: ДЛЯ пользователя, а не туда/сюда), заслать файл...
А вот эмуляцию пользовательского ввода/выбора/действий (ДЛЯ бота) - нельзя посылать. Типа безопасность. А ошибка 500 вылазит именно после попытки посыла пользовательской команды строго из под чата с ботом в телеге! В браузере как-то там я этого проделать не могу при всем желании(((. Нет для этого какой-то страницы/ссылки.

Всего записей: 3306 | Зарегистр. 01-04-2006 | Отправлено: 13:40 04-05-2022 | Исправлено: destiny child, 20:54 04-05-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny child

Цитата:
работы с браузером нет и быть не может.

я имел в виду отправить запрос через браузер скрипту.
 

Цитата:
И ошибка возникает именно при ПОСТзапросе, т.е. при подаче каких-то параметров на страницу сервера

значит проблема там, где обрабатываются эти данные.
 

Цитата:
Тот же веб-сервер - он тоже в докер-контейнере. И нет его управляющих файлов/настроек в обычных местах, что перечисляют в инете/в справке. Всё где-то в виртуальной ФС этого долбанного контейнера.

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

Цитата:
НО  - в каком виде они должны улетать?

добавляем в скрипт, к примеру,
 
if ($_SERVER['REQUEST_METHOD'] === 'POST')
file_put_contents('/tmp/postdata.txt', var_export($_POST, true), FILE_APPEND);
 
можно и с временными метками.
можно врубить дебаг режим у самой фреймворк
https://www.slimframework.com/docs/v2/configuration/modes.html
 

Цитата:
Нет для этого какой-то страницы/ссылки.

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

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 22:37 04-05-2022
destiny child



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii (пост)
Цитата:
создается вручную, имитируется с помощью CURL - способов куча.

Всё будет хорошо, если знаешь с чем работаешь. А если изучаешь, пытаешься разобраться самостоятельно - то приветствуются очень четкие указания. Ибо отсылка к "куче" не особо помогает.
Я вот не в курсе как там телеграм-бот работает с серверами телеги. ЧТО и КАК он посылает/принимает. А значит Mavrikii (пост)
Цитата:
отправить запрос через браузер скрипту.
не смогу, ибо не знаю его тела и полной адреса отправки.
Mavrikii (пост)
Цитата:
добавляем в скрипт, к примеру,  
 
if ($_SERVER['REQUEST_METHOD'] === 'POST')  
file_put_contents('/tmp/postdata.txt', var_export($_POST, true), FILE_APPEND);
и в результате есть пара-тройка записей вообще в файле, но ни ни одной, имеющей отношение ко времени появления ошибки 500. Значит и этот способ не особо рабочий. Да еще и записи-то пустые)) типа повтор: array() с десяток раз и ничего более. Будто бы и нет никаких параметров.
 
Добавлено:
Mavrikii (пост)
Цитата:
да все там есть. докер это лишь виртуалка, к которой цепляются отдельные контейнеры со своим софтом и настройками. то есть тупо маунтятся разные папки, которые расположены, чаще всего, там же, где и оригинальные. ну зайдите через ssh в работающую систему и посмотрите.

Да, есть, иначе бы и не работало. НО! они не лежат в обычных местах, они лежат в своих местах.
Тот же простейший и нужнейший php.ini представлен в 4 местах. Вопрос - какое их них настоящее и рабочее? А какие всего лишь копии как пишут доки Докера - в рид-онли моде? А может этот файл вообще не используется? Так сказать - в докер он попал по случайности, а по факту в каком-то другом конфиге нужно делать правки, типа в php-fpm.d/www.conf...

Всего записей: 3306 | Зарегистр. 01-04-2006 | Отправлено: 12:10 05-05-2022 | Исправлено: destiny child, 17:32 05-05-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а выводится картинка, значит она где то там есть.
 
https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#rewriterule
 
Цитата:
Override:    FileInfo
 
должны быть разрешены для изменения AllowOverride FileInfo в корне или в той папке, иначе не будет обрабатываться правило.
в конфиге апача нужно добавить https://httpd.apache.org/docs/2.4/mod/core.html#allowoverride

 
Все файлы в корне, но едва я добавляю
<Directory "/">
    AllowOverride FileInfo
</Directory>
 
как на странице Error 500.
 
Кстати, тоже самое при
<Directory "/">
    AllowOverride All
</Directory>
 
и при
 
<Directory "/">
    AllowOverride None
</Directory>

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 16:12 05-05-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Все файлы в корне, но едва я добавляю

куда добавляете? в .htaccess это не работает. и смотрите лог ошибок сервера - там все ошибки показаны.
https://httpd.apache.org/docs/current/mod/core.html#directory

Цитата:
Context:    server config, virtual host

 
 
 
destiny child

Цитата:
Вопрос - какое их них настоящее и рабочее?


Код:
<?php
phpinfo();

в отдельном файле покажет что и откуда берется.
 

Цитата:
 они лежат в своих местах.

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

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 21:59 05-05-2022 | Исправлено: Mavrikii, 22:01 05-05-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Похоже, что эта задача мне не по силам...

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 22:14 05-05-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Похоже, что эта задача мне не по силам...

да все там до ужаса просто..
могу глянуть, если есть доступ.

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 22:23 05-05-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для этого нужен доступ по FTP или что-то другое?

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 22:51 05-05-2022
destiny child



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii (пост)
Цитата:
смотреть логи ошибок сервера

супер ЗА! ток вот найти его нигде и никак не могу, хотя вроде всё включено для этого.
поэтому и продолжаю тыкаться и удивляться.

Всего записей: 3306 | Зарегистр. 01-04-2006 | Отправлено: 23:03 05-05-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Для этого нужен доступ по FTP или что-то другое?

нет, как же смотреть и что то делать. смотря что есть.
если Linux, то ssh, если Windows, то удаленный доступ (в W10 есть встроенный удаленный помощник).
зависит от уровня доверия, конечно же, хотя мне нет смысла пакости делать.
 
у меня есть апач и под Windows и под Ubuntu - никаких проблем вообще.

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 23:05 05-05-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
зависит от уровня доверия
Доверие абсолютное, да сейчас хостинг неожиданно не пускает
https://i.postimg.cc/x1jLdwDD/1-beget.jpg  
Надеюсь, это не надолго, поскольку не предупреждали.

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 23:13 05-05-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn

Цитата:
Доверие абсолютное

кидайте потом доступ в ПМ. посмотрю, скажу что и как.

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 23:20 05-05-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доступ отправил в личку.
 
Файл http://fh7929mi.bget.ru/30.html
Скрипт http://fh7929mi.bget.ru/script.php
 
 

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 09:42 06-05-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn
все у вас работает. 121.jpg выдает картинку потому, что такой файл есть.  
я переделал под 123.jpg - срабатывает скрипт.
 
переделал script.php чтобы выдавал картинку (сорри, не то подсказал изначально - не passthru, а readfile нужен) и поправил 30.html на выдачу 123.jpg
все теперь работает.

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 10:04 06-05-2022 | Исправлено: Mavrikii, 10:05 06-05-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, а я с этим провозился чуть ли не целый месяц!  
 
По этому же принципу успешно сделал и контроль css.
 
Ещё раз спасибо!

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 15:56 06-05-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladsvn
в этом нет ничего сложного.
есть, правда, вещи, которые подсказывают, что это идет обработка скриптом, но это не так важно.

Всего записей: 15101 | Зарегистр. 20-09-2014 | Отправлено: 00:33 07-05-2022
Vladsvn

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
 
Есть таблица из двух колонок в текстовом файле, которую я не пойму, как обработать. Таблица такого типа:
 
16777216;AU
16777472;CN
16778240;AU
16779264;CN
16781312;JP
16785408;CN
16793600;JP
 
Суть обработки: для некоего числа Х нужно в левом столбце найти строку, в которой число будет больше Х. Таких чисел может быть много, но из них надо найти самое большое и из строки с этим максимальным числом взять буквенный код из правой колонки.
 
Например, для числа Х=16785407 это будет строка 16781312;JP.  
 
Таблица большая, поэтому перебор не подходит, надо как-то иначе, быстрее. Как - не придумывается.
 
Может быть лучше занести таблицу в базу, быстрее будет?  
 

Всего записей: 342 | Зарегистр. 07-09-2016 | Отправлено: 15:11 11-05-2022
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

Компьютерный форум Ru.Board » Интернет » Web-программирование » Основы PHP...


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru