Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Старый php сайт не хочет больше работать

1079  1 2 все
AlexNek патриот26.03.21 12:10
AlexNek
NEW 26.03.21 12:10 
в ответ AlexNek 24.03.21 15:59

Разобрался наконец с пустым экраном. Нашел как можно ПХП отлаживать в VC Code и оказалось, вылетают еще эксепшины которых нигде не было видно, потому как в скриптах не было глобального обработчика ошибок.

Пока сделал в обработчике ошибок вывод на экран для отладки, что с ними делать потом, еще не знаю.

Теперь локально в XAMPP-е даже сайт как то показывается, НО к изображениям нет доступа. Как такое под виндой может быть? Может надо куда то .htaccess добавить с волшебными словами для ксампа?

#21 
NightWatch коренной житель26.03.21 12:33
NightWatch
NEW 26.03.21 12:33 
в ответ AlexNek 26.03.21 12:10
вылетают еще эксепшины которых нигде не было видно, потому как в скриптах не было глобального обработчика ошибок.

Все неотловленные ошибки падают в лог.

НО к изображениям нет доступа.

Кому?

#22 
AlexNek патриот26.03.21 12:47
AlexNek
NEW 26.03.21 12:47 
в ответ NightWatch 26.03.21 12:33
Все неотловленные ошибки падают в лог.

Это их кто тогда ловит, ПХП?

Нет вообще ПХП лога в хампе у меня.


Я так сделал и все ловится.

set_exception_handler('my_global_exception_handler');


С изображениями похоже с путями что то не то

Я когда копирую путь к изображению в лисе и затем его копирую в адресную строку, говорит что 'access denied'.

Похоже скрипт делал какие то манипуляции с адресом, которые теперь не работают.


В темах есть хтмл-ные файлы в которых путь к картинкам прописан относительно рута сайта, а не относительно расположения файла.

#23 
NightWatch коренной житель26.03.21 13:05
NightWatch
NEW 26.03.21 13:05 
в ответ AlexNek 26.03.21 12:47
Это их кто тогда ловит, ПХП?

Естественно.

Нет вообще ПХП лога в хампе у меня.

Вэб-сервер отдает выполнение скриптов PHP через SAPI, и все ошибки сваливаются в лог вэб-сервера. Я могу представить только один вариант, когда в логах ничего нет - это если специально ошибки молчаливо "проглатываются". Но даже если и так, у PHP есть не ловящиеся ошибки. Они по-любому в ло уйдут.

#24 
AlexNek патриот26.03.21 13:26
AlexNek
NEW 26.03.21 13:26 
в ответ NightWatch 26.03.21 13:05

если имеется в виду "apache/error.log" - там иногда бывают сообщения об ошибках. Но там нет имени файла и строки. Может и пропустил. смущ


Но меня сейчас больше волнует, как путями можно манипулировать. Есть вот такая строка в хтмл темах

<td width="27" height="23"><img src="themes/efoto/images/h/h08.jpg" width="27" height="23" alt="" /></td>

А в выходе перед "themes/efoto" добавляется еще кое что и неправильно. Со ссылками тоже самое, что то еще добавляется, а где непонятно.

#25 
Murr патриот26.03.21 14:53
Murr
NEW 26.03.21 14:53 
в ответ AlexNek 26.03.21 12:47

Это их кто тогда ловит, ПХП?

-----

Сервер.

Страница выполняется в тру-катч блоке.

Иначе сервер бы падал на каждом необработанном исключении.

#26 
Murr патриот26.03.21 15:03
Murr
NEW 26.03.21 15:03 
в ответ AlexNek 26.03.21 13:26

что то еще добавляется, а где непонятно.

------

Насколько Я помню ИИС и Апача по разному трактуют пути без префиксов.

Проверь как будет с точкой "." и тильдой "~"

#27 
AlexNek патриот26.03.21 15:20
AlexNek
NEW 26.03.21 15:20 
в ответ Murr 26.03.21 15:03
Насколько Я помню ИИС и Апача по разному трактуют пути без префиксов.

Хочешь сказать что пути подставляет сервер, а не скрипт?

странно как то получается для менюшек, например

http://localhost:8080/"http://localhost:8080//index.php?name=coppermine

Вместо

http://localhost:8080/Site-Name/index.php?name=coppermine
#28 
AlexNek патриот26.03.21 15:31
AlexNek
NEW 26.03.21 15:31 
в ответ AlexNek 26.03.21 15:20

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

"localhost:8080" как домейн, для соединения с базой не подходит, а на 80 порту хамп не работает.

#29 
AlexNek патриот26.03.21 16:41
AlexNek
NEW 26.03.21 16:41 
в ответ AlexNek 26.03.21 15:31

Не везет мне с этим подлым ПХП, взял для игрушек с .NET Core простенький юникс сервер.

Есть и PHP 7.3 и Maria Db 10, а вот никакого SQL adapter-а нет. Или нужна мария 5 для этого?

При установке dragonfly cms пишет "Poodle SQL adapter not found", хотя на хампе это есть. Что за штука, что нужно установить?

#30 
Murr патриот26.03.21 16:45
Murr
NEW 26.03.21 16:45 
в ответ AlexNek 26.03.21 15:20
Хочешь сказать что пути подставляет сервер, а не скрипт?

------

А что тебя в этом удивляет? Сервер:

Во первых - всегда должен контролировать урлы - иначе при аплоуде тебе напихают радостей в СЫСТЕМ32...

Во вторых - есть доп.модули позволяющие прописывать паравила замены. Я не пользовался - деталей не знаю.

В третьих - что там с точкой и тильдой?

#31 
AlexNek патриот26.03.21 17:04
AlexNek
NEW 26.03.21 17:04 
в ответ Murr 26.03.21 16:45
В третьих - что там с точкой и тильдой?

Может для интереса и проверю, но в ссылках нет ни точек ни тильд.

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

#32 
AlexNek патриот29.03.21 14:20
AlexNek
NEW 29.03.21 14:20 
в ответ Murr 26.03.21 16:45
В третьих - что там с точкой и тильдой?

Как и ожидалось виноват скрипт, добавил для теста строку

echo '<a href="index.php/">Test Link</a>';

выдает. В тестовом скрипте, как и положено хттп:/localhost:8080/test/index.php/

http://localhost:8080/"http://localhost:8080//index.php/
#33 
AlexNek патриот29.03.21 15:50
AlexNek
NEW 29.03.21 15:50 
в ответ AlexNek 29.03.21 14:20

Вот эта гадина выпендривалась

$header = '<base href=\"'.$BASEHREF.'\" />'
#34 
AlexNek патриот30.03.21 21:47
AlexNek
NEW 30.03.21 21:47 
в ответ AlexNek 29.03.21 15:50

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

Вместо können в базе видно können. Раньше помню в phpMyadmin было всё без проблем видно.

Что еще могло измениться в MySql за эти года?


#35 
Murr патриот31.03.21 02:17
Murr
NEW 31.03.21 02:17 
в ответ AlexNek 30.03.21 21:47

А какие локали у старой и новой базы/сервера/инстанса?

#36 
AlexNek патриот31.03.21 12:57
AlexNek
NEW 31.03.21 12:57 
в ответ Murr 31.03.21 02:17

Я нигде ничего не менял.

Было и осталось: utf8_general_ci


У хампа появилось еще

utf8mb4_general_ci

utf8mb4_bin

#37 
1 2 все