LINUX.ORG.RU
ФорумAdmin

Установка PHP 5 на Ubuntu 20.04

 


0

1

Здравствуйте!

Пытаюсь установить PHP 5 на Ubuntu 20.04. Как известно, популярный репозиторий - это ondrej. При установке возникает проблема с локалями, если подтвердить, то русские буквы при отображении сайта превращаются в знаки вопроса. Как с этим быть - не знаю.

Co-installable PHP versions: PHP 5.6, PHP 7.x and most requested extensions are included.
Only Supported Versions of PHP (http://php.net/supported-versions.php ) for Supported Ubuntu Releases (https://wiki.ubuntu.com/Releases) are provided.
Don't ask for end-of-life PHP versions or Ubuntu release, they won't be provided.
Debian oldstable and stable packages are provided as well: https://deb.sury.org/ #debian-dpa
You can get more information about the packages at https://deb.sury.org
 
IMPORTANT: The <foo>-backports is now required on older Ubuntu releases.
BUGS&FEATURES: This PPA now has a issue tracker: https://deb.sury.org/#bug-reporting
 
CAVEATS:
1. If you are using php-gearman, you need to add ppa:ondrej/pkg-gearman
2. If you are using apache2, you are advised to add ppa:ondrej/apache2
3. If you are using nginx, you are advised to add ppa:ondrej/nginx-mainline or ppa:ondrej/nginx
 
PLEASE READ: If you like my work and want to give me a little motivation, please consider donating regularly: https://donate.sury.org/
 
WARNING: add-apt-repository is broken with non-UTF-8 locales, see
https://github.com/oerdnj/deb.sury.org/issues/56 for workaround:
 
# LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
More info: https://launchpad.net/~ondrej/+archive/ubuntu/php
Press [ENTER] to continue or Ctrl-c to cancel adding it.

Решил зайти на сам репозиторий от ondrej и попытаться оттуда выцепить сборку, но не могу собрать её, пакеты не устанавливаются.

Репозиторий от ondrej: https://ppa.launchpadcontent.net/ondrej/php/ubuntu/pool/main/p/php5.6/

Какие есть способы решения, подскажите, пожалуйста. Версия PHP может быть от 5.3 до 5.6.

Нашёл одну инструкцию: https://www.looklinux.com/how-to-compile-php-5-6-with-apache-worker-support/ Попытался по ней выполнить, выходит такая ошибка:

configure: error: Cannot find OpenSSL's <evp.h>

По этой ссылке сделал, конфликтов никаких нет, но как запустить, не знаю, не работает PHP: https://bogachev.biz/2015/05/29/ustanovka-php-iz-ishodnikov/

Подскажите, пожалуйста, что делать?



Последнее исправление: saliery (всего исправлений: 1)

У меня одна виртуалка есть с 20.04 и 5.6 от ondrej - всё нормально с русскими буквами.

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

Что это значит, расшифруй. Что «подтвердить»? Что было до этого?

Dimez ★★★★★
()

А какие лткали сгенерированы?

Удали php5, запусьи установку снова и покажи ошибку

IIIypuk ★★★★
()
Ответ на: комментарий от IIIypuk

Там не надо ничего генерировать, надо просто осилить php.ini. Ну или аналогичные настройки из скрипта вручную.

Ну а вообще

ubuntu

php 5.3 до 5.6

apache

но как запустить, не знаю, не работает PHP

Я не удивлён.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Мне сначала показалось, что автору поможет банальный setlocale, ну и естественно в php.ini прописать, чтобы функцией не дёргать.

Однако в системе один фиг русская локаль добжна быть сгенерирована в /etc/locale.conf

IIIypuk ★★★★
()

А если не секрет, зачем тебе PHP5?

IIIypuk ★★★★
()
Ответ на: комментарий от IIIypuk

Однако в системе один фиг русская локаль добжна быть сгенерирована в /etc/locale.conf

Для пхп оно не имеет никакого значения.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Пример, писал вчера.

setlocale(LC_ALL, 'ru_RU', 'ru');
date('d M Y H:i:s', $timestamp);

Имя месяца не отображалось на русском.

Изменил на и заработало.

setlocale(LC_ALL, 'ru_RU.UTF-8', 'ru_RU', 'ru');

Система:

❯ locale -a
C
en_US.utf8
POSIX
ru_RU.utf8
❯ locale 
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
IIIypuk ★★★★
()
Последнее исправление: IIIypuk (всего исправлений: 2)
Ответ на: комментарий от IIIypuk

Кажется, получилось. Попробую переустановить ОС, отпишусь.

Скажите, а как выкачать PHP от ondrej и ставить самостоятельно, не подключаясь к репозиторию?

saliery
() автор топика
sudo apt install curl git
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.9.0
echo '. $HOME/.asdf/asdf.sh' >> ~/.bashrc
echo '. $HOME/.asdf/completions/asdf.bash' >> ~/.bashrc
exec $SHELL -l
asdf plugin add php
asdf install php <version or latest or lts>
# тут придется доставить пакеты для сборки в зависимости от ошибок
# см на сайте пхп, какие пакеты нужны для компиляции
asdf global php <version>
php --version
tz4678 ★★
()
Ответ на: комментарий от IIIypuk

я скачал все пакеты, у которых указано amd64 и ubuntu20.04, пытаюсь последовательно через dpkg ставить, ничего не получается

как подключать репозиторий, я толком не разобрался, если честно все пакеты от Ondrej скачал к себе, как запустить инсталляцию, не пойму

 

sudo dpkg -i /var/local/debs/111/libapache2-mod-php5.6_5.6.40-57+ubuntu20.04.1+deb.sury.org+1_amd64.deb

dpkg: error processing package libapache2-mod-php5.6 (--install):
-bash: syntax error near unexpected token `('
root@194-58-90-112:~#  dependency problems - leaving unconfigured
-bash: dependency: command not found
root@194-58-90-112:~# Errors were encountered while processing:
-bash: Errors: command not found
root@194-58-90-112:~#  libapache2-mod-php5.6
-bash: libapache2-mod-php5.6: command not found
root@194-58-90-112:~# root@194-58-90-112:~# sudo dpkg -i /var/local/debs/111/libapache2-mod-php5.6_5.6.40-57+ubuntu20.04.1+deb.sury.org+1_amd64.deb
-bash: root@194-58-90-112:~#: command not found
root@194-58-90-112:~# (Reading database ... 60706 files and directories currently installed.)
-bash: Reading: command not found
root@194-58-90-112:~# Preparing to unpack .../libapache2-mod-php5.6_5.6.40-57+ubuntu20.04.1+deb.sury.org+1_amd64.deb ...
-bash: Preparing: command not found
root@194-58-90-112:~# Unpacking libapache2-mod-php5.6 (5.6.40-57+ubuntu20.04.1+deb.sury.org+1) over (5.6.40-57+ubuntu20.04.1+deb.sury.org+1) ...
-bash: syntax error near unexpected token `('
root@194-58-90-112:~# dpkg: dependency problems prevent configuration of libapache2-mod-php5.6:
-bash: dpkg:: command not found
root@194-58-90-112:~#  libapache2-mod-php5.6 depends on libpcre3 (>= 2:8.41); however:
-bash: syntax error near unexpected token `('
root@194-58-90-112:~#   Version of libpcre3:amd64 on system is 2:8.39-9.
-bash: Version: command not found
root@194-58-90-112:~#  libapache2-mod-php5.6 depends on php5.6-cli; however:
-bash: libapache2-mod-php5.6: command not found
-bash: however:: command not found
root@194-58-90-112:~#   Package php5.6-cli is not installed.
-bash: Package: command not found
root@194-58-90-112:~#  libapache2-mod-php5.6 depends on php5.6-common (= 5.6.40-57+ubuntu20.04.1+deb.sury.org+1); however:
-bash: syntax error near unexpected token `('
root@194-58-90-112:~#   Package php5.6-common is not installed.
-bash: Package: command not found
root@194-58-90-112:~#  libapache2-mod-php5.6 depends on php5.6-json; however:
-bash: libapache2-mod-php5.6: command not found
-bash: however:: command not found
root@194-58-90-112:~#   Package php5.6-json is not installed.
-bash: Package: command not found
root@194-58-90-112:~#  libapache2-mod-php5.6 depends on php5.6-opcache; however:-bash: libapache2-mod-php5.6: command not found
-bash: however:: command not found
root@194-58-90-112:~#   Package php5.6-opcache is not installed.
-bash: Package: command not found
root@194-58-90-112:~#  libapache2-mod-php5.6 depends on libc6 (>= 2.29); however:
-bash: syntax error near unexpected token `('
root@194-58-90-112:~#   Version of libc6:amd64 on system is 2.27-3ubuntu1.5.
-bash: Version: command not found
root@194-58-90-112:~#
root@194-58-90-112:~# dpkg: error processing package libapache2-mod-php5.6 (--install):
-bash: syntax error near unexpected token `('
root@194-58-90-112:~#  dependency problems - leaving unconfigured
-bash: dependency: command not found
root@194-58-90-112:~# Errors were encountered while processing:
-bash: Errors: command not found
root@194-58-90-112:~#  libapache2-mod-php5.6
-bash: libapache2-mod-php5.6: command not found
saliery
() автор топика
Последнее исправление: saliery (всего исправлений: 2)
Ответ на: комментарий от IIIypuk

Друзья, ничего не получается. Куча конфликтов, ошибок... Уже несколько раз переустанавливал систему и пробовал начисто, бесполезно.

Скачал по этой ссылке PHP, пытаюсь скомпилировать, но опять же ничего не выходит.

http://old-releases.ubuntu.com/ubuntu/pool/main/p/php5/php5_5.6.4 dfsg.orig.t...

sudo tar -xvf /php5_5.6.4+dfsg.orig.tar.xz
cd /php5-5.6.4+dfsg.orig
./configure
make
make test
sudo make install
saliery
() автор топика
Последнее исправление: saliery (всего исправлений: 1)
Ответ на: комментарий от IIIypuk

Как определить последовательность установки пакетов при инсталляции PHP от ondrej? Что происходит, когда я пишу install? Как это перехватить или в файл лог записать, чтобы потом вручную это выцепить и самому сделать?

saliery
() автор топика
Ответ на: комментарий от IIIypuk

сделал, выскакивают ошибки:

sudo apt-get install php5.6 apache2 libapache2-mod-php5.6 php5.6-fpm php5.6-common php5.6-cli php5.6-opcache php5.6-gd php5.6-curl php5.6-intl php5.6-xsl php5.6-mbstring php5.6-zip php5.6-bcmath php5.6-soap php5.6-mcrypt
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'php5.6-tokenizer' for regex 'php5.6'
Note, selecting 'php5.6-posix' for regex 'php5.6'
Note, selecting 'php5.6-iconv' for regex 'php5.6'
Note, selecting 'php5.6-mysqlnd' for regex 'php5.6'
Note, selecting 'php5.6-interbase' for regex 'php5.6'
Note, selecting 'php5.6-pdo' for regex 'php5.6'
Note, selecting 'php5.6-pdo-mysql' for regex 'php5.6'
Note, selecting 'php5.6-xmlreader' for regex 'php5.6'
Note, selecting 'php5.6-xmlrpc' for regex 'php5.6'
Note, selecting 'php5.6-calendar' for regex 'php5.6'
Note, selecting 'php5.6-fileinfo' for regex 'php5.6'
Note, selecting 'php5.6-pdo-dblib' for regex 'php5.6'
Note, selecting 'php5.6-xml' for regex 'php5.6'
Note, selecting 'php5.6-xsl' for regex 'php5.6'
Note, selecting 'php5.6-gettext' for regex 'php5.6'
Note, selecting 'php5.6-zip' for regex 'php5.6'
Note, selecting 'php5.6-pdo-sqlite' for regex 'php5.6'
Note, selecting 'php5.6-pspell' for regex 'php5.6'
Note, selecting 'php5.6-recode' for regex 'php5.6'
Note, selecting 'php5.6-tidy' for regex 'php5.6'
Note, selecting 'php5.6-pgsql' for regex 'php5.6'
Note, selecting 'php5.6-wddx' for regex 'php5.6'
Note, selecting 'php5.6-shmop' for regex 'php5.6'
Note, selecting 'php5.6-simplexml' for regex 'php5.6'
Note, selecting 'php5.6-pdo-firebird' for regex 'php5.6'
Note, selecting 'php5.6-mssql' for regex 'php5.6'
Note, selecting 'php5.6-json' for regex 'php5.6'
Note, selecting 'php5.6-enchant' for regex 'php5.6'
Note, selecting 'php5.6-ctype' for regex 'php5.6'
Note, selecting 'php5.6-readline' for regex 'php5.6'
Note, selecting 'php5.6-phar' for regex 'php5.6'
Note, selecting 'php5.6-curl' for regex 'php5.6'
Note, selecting 'php5.6-ldap' for regex 'php5.6'
Note, selecting 'php5.6-common' for regex 'php5.6'
Note, selecting 'php5.6-imap' for regex 'php5.6'
Note, selecting 'php5.6-bcmath' for regex 'php5.6'
Note, selecting 'libphp5.6-embed' for regex 'php5.6'
Note, selecting 'php5.6-intl' for regex 'php5.6'
Note, selecting 'php5.6-gd' for regex 'php5.6'
Note, selecting 'php5.6-mbstring' for regex 'php5.6'
Note, selecting 'php5.6-sysvmsg' for regex 'php5.6'
Note, selecting 'php5.6-odbc' for regex 'php5.6'
Note, selecting 'php5.6-mysql' for regex 'php5.6'
Note, selecting 'php5.6-mcrypt' for regex 'php5.6'
Note, selecting 'php5.6-pdo-pgsql' for regex 'php5.6'
Note, selecting 'php5.6-snmp' for regex 'php5.6'
Note, selecting 'php5.6-soap' for regex 'php5.6'
Note, selecting 'php5.6-sysvsem' for regex 'php5.6'
Note, selecting 'php5.6-sysvshm' for regex 'php5.6'
Note, selecting 'php5.6-bz2' for regex 'php5.6'
Note, selecting 'php5.6-cgi' for regex 'php5.6'
Note, selecting 'php5.6-cli' for regex 'php5.6'
Note, selecting 'php5.6-dba' for regex 'php5.6'
Note, selecting 'php5.6-sockets' for regex 'php5.6'
Note, selecting 'php5.6-dev' for regex 'php5.6'
Note, selecting 'php5.6-dom' for regex 'php5.6'
Note, selecting 'php5.6-mysqli' for regex 'php5.6'
Note, selecting 'php5.6-pdo-odbc' for regex 'php5.6'
Note, selecting 'php5.6-fpm' for regex 'php5.6'
Note, selecting 'php5.6-sqlite3' for regex 'php5.6'
Note, selecting 'php5.6-ftp' for regex 'php5.6'
Note, selecting 'php5.6-sybase' for regex 'php5.6'
Note, selecting 'php5.6-gmp' for regex 'php5.6'
Note, selecting 'libapache2-mod-php5.6' for regex 'php5.6'
Note, selecting 'php5.6-opcache' for regex 'php5.6'
Note, selecting 'php5.6-phpdbg' for regex 'php5.6'
Note, selecting 'php5.6-exif' for regex 'php5.6'
Note, selecting 'php5.6-xmlwriter' for regex 'php5.6'
Note, selecting 'php5.6-common' instead of 'php5.6-calendar'
Note, selecting 'php5.6-common' instead of 'php5.6-ctype'
Note, selecting 'php5.6-common' instead of 'php5.6-exif'
Note, selecting 'php5.6-common' instead of 'php5.6-fileinfo'
Note, selecting 'php5.6-common' instead of 'php5.6-ftp'
Note, selecting 'php5.6-common' instead of 'php5.6-gettext'
Note, selecting 'php5.6-common' instead of 'php5.6-iconv'
Note, selecting 'php5.6-common' instead of 'php5.6-pdo'
Note, selecting 'php5.6-common' instead of 'php5.6-phar'
Note, selecting 'php5.6-common' instead of 'php5.6-posix'
Note, selecting 'php5.6-common' instead of 'php5.6-shmop'
Note, selecting 'php5.6-common' instead of 'php5.6-sockets'
Note, selecting 'php5.6-common' instead of 'php5.6-sysvmsg'
Note, selecting 'php5.6-common' instead of 'php5.6-sysvsem'
Note, selecting 'php5.6-common' instead of 'php5.6-sysvshm'
Note, selecting 'php5.6-common' instead of 'php5.6-tokenizer'
Note, selecting 'php5.6-interbase' instead of 'php5.6-pdo-firebird'
Note, selecting 'php5.6-mysql' instead of 'php5.6-mysqli'
Note, selecting 'php5.6-mysql' instead of 'php5.6-mysqlnd'
Note, selecting 'php5.6-mysql' instead of 'php5.6-pdo-mysql'
Note, selecting 'php5.6-odbc' instead of 'php5.6-pdo-odbc'
Note, selecting 'php5.6-pgsql' instead of 'php5.6-pdo-pgsql'
Note, selecting 'php5.6-sqlite3' instead of 'php5.6-pdo-sqlite'
Note, selecting 'php5.6-sybase' instead of 'php5.6-mssql'
Note, selecting 'php5.6-sybase' instead of 'php5.6-pdo-dblib'
Note, selecting 'php5.6-xml' instead of 'php5.6-xsl'
Note, selecting 'php5.6-xml' instead of 'php5.6-dom'
Note, selecting 'php5.6-xml' instead of 'php5.6-simplexml'
Note, selecting 'php5.6-xml' instead of 'php5.6-wddx'
Note, selecting 'php5.6-xml' instead of 'php5.6-xmlreader'
Note, selecting 'php5.6-xml' instead of 'php5.6-xmlwriter'
Note, selecting 'php5.6-xml' instead of 'php5.6-xsl'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libapache2-mod-php5.6 : Depends: libpcre3 (>= 2:8.41) but 2:8.39-12build1 is to be installed
 libphp5.6-embed : Depends: libpcre3 (>= 2:8.41) but 2:8.39-12build1 is to be installed
 php5.6-cgi : Depends: libpcre3 (>= 2:8.41) but 2:8.39-12build1 is to be installed
 php5.6-cli : Depends: libpcre3 (>= 2:8.41) but 2:8.39-12build1 is to be installed
 php5.6-fpm : Depends: libpcre3 (>= 2:8.41) but 2:8.39-12build1 is to be installed
 php5.6-phpdbg : Depends: libpcre3 (>= 2:8.41) but 2:8.39-12build1 is to be installed
 php5.6-zip : Depends: libzip4 (>= 0.11.2) but it is not installable
E: Unable to correct problems, you have held broken packages.
saliery
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.