Старый php сайт не хочет больше работать
Есть у меня старый сайт еще с PHP 4.x, на основе dragonfly CMS. Пару последних лет его вообще не открывал. Теперь открыл - и нифига не работает, провайдер обновил PHP, причем даже и старые версии оставил. Но и с 5.6 ничего не завелось, с 7.х показывает ошибки eregi, phpinfo показывает пустую страницу.
С ПХП 8.0 показывает только пустые страницы.
Пробую пока хоть 7.3.27 запустить, но что для этой ошибки делать пока непонятно
Если ли надежда запустить в принципе? На вообще что то новое "руками" никак не перейти, в базе тысячи записей. Да и основа была хорошо покурочена.
This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0.
Instead, the MySQLi or PDO_MySQL extension should be used.
See also MySQL: choosing an API guide.
Alternatives to this function include:
https://www.php.net/manual/en/mysql.installation.php
Если ли надежда запустить в принципе?
Только если найдешь хостинг с php до 7.0.0 или vps/root или перепишешь исходники под актуальный API.
Поправка: возможно, поддержка других расширений там уже есть. Посмотри config.php. Есть там что-то подобное?
# -- database type ---------------------------------------
# The type of SQL server that I will be using to store my
# site's database
#
# Choose from the following (case-sensitive):
# - mysql (4.x or later)
# - mysqli (PHP must be compiled with "System Mysql")
# - postgre7 (7.3.x or later)
#
# default: mysql
# --------------------------------------------------------
define('DB_TYPE', 'mysql');
mysql -> mysqli
Ну на 5.6 я могу пока свободно переключить, только тоже ничего не дает. Ну и неизвестно сколько они будут еще 5.6 держать.
"vps/root" есть для другого сайта. Я их специально разнёс. Один для экспериментов, второй только хостинг, упавший как раз на втором.
перепишешь исходники под актуальный API
Ну если опять вернуться к изучению ПХП, только вот сколько это времени займёт? Сайт в принципе только для истории пока нужен.
Нашел новую версию старой СМС-ки - "PHP 7.2 compatible" от 2018 можно попробовать ее запустить и старую базу как то перекинуть.
Или переключить на 5.6 и там добивать?
А из этих то: MySQLi, PDO_MySQL что выбрать? Точных рекомендаций пока не заметил.
А что теперь вместо endels-а?
https://www.kobzarev.com/soft/endels/
Классно было, всё локально под виндой поставил и пользуйся
php: phpinfo скажет.
Локальный точно также не работает. А серверный даёт:
error_log
log_errors On
и /var каталога через фтп не вижу, не уверен, что SSH доступ есть.
Зато нашел менюшки для wordpress и joomla. Не уверен только, что к ним хорошая фотогалерея есть. Лучше coppermine пока не попадалось.
Потихоньку разбираюсь.
Но возникла старая проблема импорта больших дампов (сжатый 160Мб), раньше вроде это помогало. Но там тоже пхп 4.3
https://dev.mysql.com/doc/refman/8.0/en/mysql-shell-tutori...
А как абсолютный путь указать? Или куда нужно файл записать? Под виндой.
На "E:\Web\file.sql" ругается
Failed to open file: 'E:\Web\file.sql' is a directory
...
Сорри, так и есть
Разобрался наконец с пустым экраном. Нашел как можно ПХП отлаживать в VC Code и оказалось, вылетают еще эксепшины которых нигде не было видно, потому как в скриптах не было глобального обработчика ошибок.
Пока сделал в обработчике ошибок вывод на экран для отладки, что с ними делать потом, еще не знаю.
Теперь локально в XAMPP-е даже сайт как то показывается, НО к изображениям нет доступа. Как такое под виндой может быть? Может надо куда то .htaccess добавить с волшебными словами для ксампа?
Все неотловленные ошибки падают в лог.
Это их кто тогда ловит, ПХП?
Нет вообще ПХП лога в хампе у меня.
Я так сделал и все ловится.
set_exception_handler('my_global_exception_handler');
С изображениями похоже с путями что то не то
Я когда копирую путь к изображению в лисе и затем его копирую в адресную строку, говорит что 'access denied'.
Похоже скрипт делал какие то манипуляции с адресом, которые теперь не работают.
В темах есть хтмл-ные файлы в которых путь к картинкам прописан относительно рута сайта, а не относительно расположения файла.
Это их кто тогда ловит, ПХП?
Естественно.
Нет вообще ПХП лога в хампе у меня.
Вэб-сервер отдает выполнение скриптов PHP через SAPI, и все ошибки сваливаются в лог вэб-сервера. Я могу представить только один вариант, когда в логах ничего нет - это если специально ошибки молчаливо "проглатываются". Но даже если и так, у PHP есть не ловящиеся ошибки. Они по-любому в ло уйдут.
если имеется в виду "apache/error.log" - там иногда бывают сообщения об ошибках. Но там нет имени файла и строки. Может и пропустил.
Но меня сейчас больше волнует, как путями можно манипулировать. Есть вот такая строка в хтмл темах
<td width="27" height="23"><img src="themes/efoto/images/h/h08.jpg" width="27" height="23" alt="" /></td>
А в выходе перед "themes/efoto" добавляется еще кое что и неправильно. Со ссылками тоже самое, что то еще добавляется, а где непонятно.
Насколько Я помню ИИС и Апача по разному трактуют пути без префиксов.
Хочешь сказать что пути подставляет сервер, а не скрипт?
странно как то получается для менюшек, например
http://localhost:8080/"http://localhost:8080//index.php?name=coppermine
Вместо
http://localhost:8080/Site-Name/index.php?name=coppermine
Не везет мне с этим подлым ПХП, взял для игрушек с .NET Core простенький юникс сервер.
Есть и PHP 7.3 и Maria Db 10, а вот никакого SQL adapter-а нет. Или нужна мария 5 для этого?
При установке dragonfly cms пишет "Poodle SQL adapter not found", хотя на хампе это есть. Что за штука, что нужно установить?
------
А что тебя в этом удивляет? Сервер:
Во первых - всегда должен контролировать урлы - иначе при аплоуде тебе напихают радостей в СЫСТЕМ32...
Во вторых - есть доп.модули позволяющие прописывать паравила замены. Я не пользовался - деталей не знаю.
В третьих - что там с точкой и тильдой?
В третьих - что там с точкой и тильдой?
Может для интереса и проверю, но в ссылках нет ни точек ни тильд.
Ну и очень не уверен, что дело в сервере. Можно еще стибрить где то пхпшный сайтик без базы и проверить, но почти уверен, что будет работать без проблем.
В третьих - что там с точкой и тильдой?
Как и ожидалось виноват скрипт, добавил для теста строку
echo '<a href="index.php/">Test Link</a>';
выдает. В тестовом скрипте, как и положено хттп:/localhost:8080/test/index.php/
http://localhost:8080/"http://localhost:8080//index.php/