Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[98.84.18.52] |
|
Сообщ.
#1
,
|
|
|
Доброго времени суток! Товарищи, выручите, пожалуйста! У провайдера сменилась Ubuntu с 12.04 на 16.04. PHP там стала 7.0.33, а мне нужно 5.3.10. В принципе любая версия от 5.0 до 5.4. На 5.4 не будут работать скрипты.
Я уже весь интернет облазил. Уже скачал с сайта PHP архив 5.3.29, установил, а он не работает, не знаю, как запустить его. Подскажите, как его поставить туда? wget http://in1.php.net/distributions/php-5.3.29.tar.bz2 tar -xvf php-5.3.29.tar.bz2 cd php-5.3.29 ./configure make make install и никак |
Сообщ.
#2
,
|
|
|
Что никак? Логи где?
Цитата не знаю, как запустить его. php в консоли Цитата Подскажите, как его поставить туда? Туда это куда? |
Сообщ.
#3
,
|
|
|
В общем, повторил процедуру с установкой. Вроде, всё ОК, а как привести в действие?
Перезагружаю Апач, и ничего не меняется: sudo /etc/init.d/apache2 reload Вот ссылка с PHP-кодом: http://projekti.foto-dorog.ru/1.php var/log/apache2/error.log: [Mon Jul 01 06:25:21.170301 2019] [mpm_prefork:notice] [pid 11320] AH00163: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Mon Jul 01 06:25:21.170323 2019] [core:notice] [pid 11320] AH00094: Command line: '/usr/sbin/apache2' [Mon Jul 01 11:07:49.398059 2019] [mpm_prefork:notice] [pid 11320] AH00171: Graceful restart requested, doing restart [Mon Jul 01 11:07:49.466002 2019] [mpm_prefork:notice] [pid 11320] AH00163: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations [Mon Jul 01 11:07:49.466013 2019] [core:notice] [pid 11320] AH00094: Command line: '/usr/sbin/apache2' Добавлено Цитата Gonarh @ Туда это куда? На Ubuntu 16.04, конечно Добавлено Причём PHP установился в какую-то другую директорию, не как обычно /etc/php5, он где-то в /usr/... засел Добавлено Нашёл ещё инструкцию: sudo a2enmod php5 Выдаёт ошибку: ERROR: Module php5 does not exist! |
Сообщ.
#4
,
|
|
|
что говорит?
whereis php find /etc/apache2/* -name "php*" find /usr/* -name "libphp*.so" 2>/dev/null Добавлено Цитата salieri @ Причём PHP установился в какую-то другую директорию, не как обычно /etc/php5, он где-то в /usr/... засел В /етк/пхп5 лежат конфиги самих бинарей там нет. |
Сообщ.
#5
,
|
|
|
Цитата Gonarh @ что говорит? whereis php find /etc/apache2/* -name "php*" find /usr/* -name "libphp*.so" 2>/dev/null Добавлено Цитата salieri @ Причём PHP установился в какую-то другую директорию, не как обычно /etc/php5, он где-то в /usr/... засел В /етк/пхп5 лежат конфиги самих бинарей там нет. php: /etc/php.ini /usr/local/bin/php /usr/local/lib/php.ini /usr/local/lib/php а на 2 последних команды никакого ответа не было |
Сообщ.
#6
,
|
|
|
Цитата salieri @ ./configure Ты собрал пхп без модулей |
Сообщ.
#7
,
|
|
|
Цитата Gonarh @ Цитата salieri @ ./configure Ты собрал пхп без модулей запускал эту команду Добавлено Я уже в /usr/lib/apache2/modules скопировал libphp5.so с другого сервака запускаю sudo a2enmod php5 Выдаёт ошибку: ERROR: Module php5 does not exist! Сдаётся мне, что надо LoadModule php5_module /usr/lib/apache2/modules/libphp5.so куда-то прописать ??? |
Сообщ.
#8
,
|
|
|
Так у тебя ничего не выйдет, пересобирай.
|
Сообщ.
#9
,
|
|
|
Цитата Gonarh @ Так у тебя ничего не выйдет, пересобирай. а как старое удалить? последовательность этих действий ничего не даёт: wget http://in1.php.net/distributions/php-5.3.29.tar.bz2 tar -xvf php-5.3.29.tar.bz2 cd php-5.3.29 ./configure make make install что я не так делаю? |
Сообщ.
#10
,
|
|
|
Скачал 5.3.3 (webi.ru/webi_files/php.html), при попытке вызвать make вышло вот это в итоге:
-I/usr/include -g -O2 -fvisibility=hidden -c /root/php-5.3.3/ext/dom/node.c -o ext/dom/node.lo /root/php-5.3.3/ext/dom/node.c: In function ‘dom_canonicalization’: /root/php-5.3.3/ext/dom/node.c:1903:21: error: dereferencing pointer to incomplete type ‘xmlBuf {aka struct _xmlBuf}’ ret = buf->buffer->use; ^ Makefile:545: recipe for target 'ext/dom/node.lo' failed make: *** [ext/dom/node.lo] Error 1 Добавлено Может быть, есть другой путь? На репозиториях есть нужная версия: launchpad.net/~sergey-dryabzhinsky/+archive/ubuntu/php53/+packages В принципе, если добавить это в репозитории, то работает Но мне нужен дистрибутив, чтобы я не зависел от репозиториев Через полгода удалят их, а что я буду делать? Нельзя ли как-то скачать оттуда 1 раз, а потом ставить каждый раз? Добавлено Вот ссылка, но я не пойму, что отсюда надо качать: ppa.launchpad.net/sergey-dryabzhinsky/php53/ubuntu/dists/ |
Сообщ.
#11
,
|
|
|
Цитата salieri @ что я не так делаю? ./configure --help |
Сообщ.
#12
,
|
|
|
В общем, я сделал так:
- удалил PHP 7.x: sudo /etc/init.d/apache2 stop sudo apt-get purge php7.* sudo apt-get purge php.* sudo apt-get remove --purge `dpkg -l | grep php | grep -w 7.* | awk '{print $2}' | xargs` - установил PHP 5.3.29 через репозиторий ~sergey-dryabzhinsky: sudo add-apt-repository ppa:sergey-dryabzhinsky/php53 sudo apt-get update sudo apt-get install php5 apache2 libapache2-mod-php5 sudo a2enmod php53 sudo service apache2 start - записал пакеты, которые в процессе установки шли - скачал их - переустановил Ubuntu - поставил эти пакеты в том порядке, в котором они ставились: (запускать каждую строку по отдельности, всё сразу не копировать): sudo dpkg -i /1/exim4-config_4.86.2-2ubuntu2.3_all.deb sudo dpkg -i /1/exim4-base_4.86.2-2ubuntu2.3_amd64.deb sudo dpkg -i /1/exim4-daemon-light_4.86.2-2ubuntu2.3_amd64.deb sudo dpkg -i /1/exim4_4.86.2-2ubuntu2.3_all.deb sudo dpkg -i /1/s-nail_14.8.6-1_amd64.deb sudo dpkg -i /1/php53-common_5.3.29-1sergeyd14.4~xenial1_all.deb sudo dpkg -i /1/php53-cli_5.3.29-1sergeyd14.4~xenial1_amd64.deb sudo dpkg -i /1/php53p-cli_5.3.29-1sergeyd14.4~xenial1_all.deb sudo dpkg -i /1/php53-mod-pcntl_5.3.29-1sergeyd14.4~xenial1_amd64.deb sudo dpkg -i /1/libapache2-mod-php53_5.3.29-1sergeyd14.4~xenial1_amd64.deb Терминал: sudo a2enmod php53 sudo service apache2 start - То, что мне нужно заработало (MySQL и прочее не проверял). Теперь удалить PHP 5.3.29 можно так: sudo dpkg -r php или sudo dpkg -r php53 |