Страница 1 из 1
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 21 фев 2024, 23:04
ondevops
Всем добра, у меня есть необходимость поставить PHP 8.2 или выше с поддержкой MSSQL (sqlsrv ext) искал по всему рунету так и не нашел данных пакетов в репозитории (стоковом) находится только 7.4. Подскажите какой репозиторий можно использовать ? не уж то компилировать весь PHP и его зависимости ?
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 11 мар 2024, 15:35
yclinggulp
Для PHP 8.2+ с поддержкой MSSQL рассмотрите возможность добавления репозитория ondrej/php. Инструкции можно найти по этой ссылке: [ссылка]. Альтернативно можно скомпилировать PHP и его зависимости, но это немного сложнее. Документация PHP может помочь вам в этом процессе. Надеюсь это поможет!
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 12 сен 2024, 12:24
vic1958
Доброго времени суток!
Есть необходимость установить на Роса-сервер (ROSA Chrome Server 12.5.1)
PHP8.1 или выше с поддержкой Postgresql
Подскажите плиз, как можно это реализовать.
В предыдущем посте есть рекомендация по подключению дополнительного репозитория, но
ссылка на инструкцию не работает - если не сложно, напишите здесь, как это сделать?
И так, для общего развития, может кто знает, почему на серверной платформе и в официальной репе только php7.4,
ходя для решения многих вопросов уже давно используется 8.х - есть на то
какие-то серьезные причины?
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 12 сен 2024, 13:08
irton
php непопулярен и умирать. В платформах нет пакетов которым бы требовался php8, поэтому и его нет.
вот ссылка на его пакеты
https://mirror.yandex.ru/mirrors/launchpad/ondrej/php/
ps. вроде как все уже в docker ставят php8 + нужный софт и радуются
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 12 сен 2024, 15:04
vic1958
Спасибо!
А как прикрутить ссылку на пакеты к системе?
Ну или как достать пакет со всеми зависимостями для оффлайн установки?
Если не сложно - опишите процесс пож - пока плаваю в этом вопросе...
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 12 сен 2024, 15:22
irton
У него там deb пакеты, я незнаю.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 12 сен 2024, 16:13
va9(2)
vic1958 писал(а): 12 сен 2024, 15:04
Если не сложно - опишите процесс
Установить докер,
В докер установить убунту,
В убунте установить пхп.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 12 сен 2024, 17:58
vic1958
С php на убунту проблем совсем нет и без докера - apt install и поехали
У меня жесткие условия - чистая ОС РОСА
На ней php8.1 или выше...
Пробовал локально с rpm пакета - утонул в куче зависимостей - может есть способ скачать пакет вместе со всеми зависимостями?
Но предполагаю, что это тоже дорога в никуда...
Есть инструкция по подключению репозиториев EPEL и REMI
Добавление EPEL-репозитория
dnf install
https://dl.fedoraproject.org/pub/epel/e ... noarch.rpm
Проверка
rpm -qi epel-release
Говорит, что все Ок, далее:
Добавление REMI репозитория, где находятся PHP пакеты
dnf -y install
http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
А здесь начинаются ошибки по загрузке метаданных:
Error: Failed to download metadata for repo 'epel': Cannot prepare internal mirrorlist: Status code: 404
И вот тут я окончательно увяз...
Линк
http://rpms.remirepo.net/enterprise/remi-release-9.rpm существует и пакет можно скачать...
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 12 сен 2024, 20:03
Barmalei
Костыли все это, Docker, Wine, Virtualbox. Уж тогда ставить на комп ту ОС что требуется.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 13 сен 2024, 04:18
irton
vic1958 писал(а): 12 сен 2024, 17:58
У меня жесткие условия - чистая ОС РОСА
Ну тогда вам в техподдержку надо обращаться, у вас Хром. Пусть они разруливают.

PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 13 сен 2024, 08:55
turik02
vic1958, УСТАНОВКА PHP 8.3
КОМПИЛИРУЕТСЯ ЛЕГКО (ДЕЛАЛ СРАЗУ ЖЕ ПОСЛЕ УСТАНОВКИ ROSA 12.5.1)
Обновляем ОС
Нужно установить из репозитория ROSA
Код: Выделить всё
sudo dnf install apache-mod_php apache-base bison re2c autoconf gcc-c++ lib64pq++-devel lib64xslt-devel lib64xml2-devel lib64sqlite3-devel
Запуск сервера происходит следующей командой
Чтобы сервер стартовал при загрузке компьютера
После каких-либо изменений в конфигурационных файлах, обычно сервер перезапускают
Перезапуск сервера
Потом перейти по ссылке
https://github.com/php/php-src/tags
И скачать php-8.3.12RC1 (zip)
Распаковать архив и перейти в папку php-src-php-8.3.12RC1
Там нужно открыть терминал и выполнить
Затем
Затем
Затем
Проверить версию установленной PHP
Теперь проверим работу PHP, для этого в папке /usr/local/bin создадим файл info.php с одной строчкой
Откроем в этой папке терминал и выполним
Можно почитать про компиляцию и установку
https://bonguides.com/how-to-compile-an ... -centos-8/
и
https://ru.linux-console.net/?p=21973
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 13 сен 2024, 20:45
vic1958
turik02, Все получилось, спасибо!
Теперь осталось откомпилить с модулями:-)
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 14 сен 2024, 12:39
turik02
vic1958, МОДУЛИ (если не ошибаюсь)
При компиляции вместо ./configure надо
Код: Выделить всё
--enable-cli \
--enable-fpm \
--enable-intl \
--enable-opcache \./configure \
--enable-cli \
--enable-fpm \
--enable-intl \
--enable-opcache \
--enable-sockets \
--enable-soap \
--with-freetype \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--with-jpeg \
--with-mysql-sock \
--with-mysqli \
--with-pdo-mysql \
--with-pgsql \
--with-xsl \
--with-zlib
Посмотреть установленные модули
СПИСОК ВСЕХ МОДУЛЕЙ
https://www.php.net/manual/en/funcref.php
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 16 сен 2024, 02:14
turik02
ROSA 12.5.1
Скрипт установки и настройки PHP-8.3.11 / обновления и добавления функций.
При обновлении версии нужно поменять версию PHP в скрипте.
Внутри скрипта можете ознакомится / добавить при необходимости зависимости и функции, а так же настройки PHP.
Устанавлмвает в /usr/local/php, а не разбрасывает по всему /usr. Создаёт службу php-fpm, проверить по окончании настройки:
sudo systemctl status php-fpm
Версию PHP
php -v
Модули
php -m
Определить, какой PHP используется
which php
Тестирование конфигурации для запуска FPM
sudo /usr/local/php/sbin/php-fpm -t
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 30 сен 2024, 15:33
vic1958
turik02, Большое спасибо за развернутый ответ!
Был в отпуске, только сегодня вышел.
При компиляции с модулями столкнулся с такой ошибкой:
checking for libxml-2.0 >= 2.9.0... no
configure: error: Package requirements (libxml-2.0 >= 2.9.0) were not met:
Package 'libxml-2.0', required by 'virtual:world', not found
Пробую установить из репы
dnf install libxml2-devel
Говорит, что установлена
Пакет libxml2-devel-2.9.14-6.i686 уже установлен.
Зависимости разрешены.
Отсутствуют действия для выполнения.
Чего не хватает?
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 30 сен 2024, 16:54
irton
libxml2-devel-2.9.14-6.i686 это для i686 же. удалите его. и лучше репозитарии i686 отключить на время
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 30 сен 2024, 20:48
turik02
vic1958,
irton писал(а): 30 сен 2024, 16:54
libxml2-devel-2.9.14-6.i686 это для i686 же. удалите его. и лучше репозитарии i686 отключить на время
Вероятно, возникнет конфликт при установке пакета lib64xml2-devel.
Отключение репозиториев может не помочь. А при удалении удаляется много зависимостей (может они нужны).
Но можно просто избавиться от ненужных пакетов, не затрагивая зависимости.
Удаляем
И
Потом устанавливаем
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 01 окт 2024, 00:53
turik02
vic1958,
Обычно для системы x86_64 в ОС ROSA требуется указать lib64, а для 32-разрядной — lib.
Некоторые названия зависимостей для системы x86_64 указаны в скрипте (если это необходимо, то можно открыть его в текстовом редакторе и ознакомиться).
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 01 окт 2024, 13:07
vic1958
turik02,
Рекомендации помогли, спасибо!
После установки lib64xml2-devel потребовал libcurl >= 7.29.0
Установил из репы
Теперь ругается на отсутствие файла заголовков
configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
Postgresql14 у меня установлен, но в системе нет такого файла, проверил вот так:
find / -name "libpq-fe.h"
find / -name "lib*.h"
Как это можно обойти?
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 01 окт 2024, 13:16
irton
Ну дык dnf install postgresql14-devel
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 01 окт 2024, 13:21
vic1958
irton,
Я устанавливал так
dnf install postgresql14-server
dnf install postgresql14-contrib
systemctl enable postgresql14
systemctl start postgresql14
systemctl status postgresql14
Он в состоянии active
Это было сделано до запуска configure
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 01 окт 2024, 13:32
irton
Ну так вам не сервер нужен, а devel пакет постгреса, в котором файлы нужные чтобы другие проги с ним компилировались.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 01 окт 2024, 14:10
turik02
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 01 окт 2024, 14:29
turik02
vic1958, Обрати внимание на эти зависимости::
Код: Выделить всё
lib64openssl-devel lib64curl-devel lib64png-devel lib64webp-devel lib64jpeg-devel lib64freetype6-devel gcc make nginx lib64zip-devel apache-base bison re2c autoconf gcc-c++ lib64pq++-devel lib64xslt-devel lib64xml2-devel lib64sqlite3-devel php-pgsql php-pdo postgresql16-server lib64onig5 lib64onig-devel php-mysql apache-mod_php apache-devel php php-cli
Если при запуске программы вы видите ошибку наподобие «configure: error: cannot find libpq-fe.h», попробуйте поискать что-то похожее, например, «lib64pq++-devel».
Ты же, кажется, уже один раз компилировали PHP? В таком случае, эти зависимости уже должны быть установлены в системе.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 01 окт 2024, 15:47
vic1958
irton, turik02,
Спасибо за конструктивную информацию!
Ошибка с файлом заголовков ушла.
Configure отработал, но с варнингом, что не понял некоторые опции.
Проверил валидность опций через configure --help
В результате получилась следующая строка:
./configure --with-pdo-pgsql --with-pgsql --enable-fpm --enable-gd --with-curl --with-pear
Теперь ему не хватает библиотеки libpng
Даю:
dnf list |grep libpng
Получаю:
libpng-devel.i686 2:1.6.37-3 mirror-rosa-i686-main
libpng-source.i686 2:1.6.37-3 mirror-rosa-i686-main
libpng-source.x86_64 2:1.6.37-3 mirror-rosa-x86_64-main
libpng0.i686 2:1.2.59-2 mirror-rosa-i686-contrib
libpng15.i686 2:1.5.17-7 mirror-rosa-i686-contrib
libpng16.i686 2:1.6.37-3 mirror-rosa-i686-main
libpng3.i686 2:1.2.59-2 mirror-rosa-i686-contrib
libpnglite-devel.i586 0.1.17-5 mirror-rosa-i686-contrib
libpnglite-devel.i686 0.1.17-5 mirror-rosa-i686-contrib
libpnglite0.i586 0.1.17-5 mirror-rosa-i686-contrib
libpnglite0.i686 0.1.17-5 mirror-rosa-i686-contrib
На мой неискушенный взгляд, того, что мне надо здесь нет, подскажите пожалуйста, как быть?
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 01 окт 2024, 15:54
turik02
vic1958,
Интересно, какая у тебя операционная система — 64-разрядная или 32-разрядная?
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 01 окт 2024, 16:11
vic1958
turik02,
64
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 01 окт 2024, 16:47
turik02
vic1958,
Используй лучше скрипт. Он установит все зависимости, там есть твои настройки для configure.
Он установит PHP в папку /opt/php, а не разбросит PHP по всему /usr и настроит кое-что (смотри содержимое скрипта).
Подправил скрипт 03.10.202 (поддержка Postgresql).
07.10 (Теперь при включении компьютера создаётся каталог /run/php-fpm)
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 03 окт 2024, 15:38
vic1958
turik02,
Доброго дня!
Благодаря рекомендации
sudo dnf install lib64pq++-devel
и командам из скрипта (закомментил то, что уже сделано и подкорректировал под nginx )
пакет откомпилировался
Команда
php -v - показывает версию php
php -m - подгруженные модули.
Настроил php-fpm - запускается, тест проходит.
Большое спасибо!
Теперь проблема в том, что при обращении к веб-серверу к странице index.html все отображается корректно.
А при обращении к index.php пишет файл не найден.
При этом в лог nginx пишет следующее:
[error] 53939#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 10.0.0.76, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/
www.sock:", host: "10.0.0.76"
В конфиге php-fpm прописано
listen = /run/php-fpm/
www.sock
Файл при старте создается
В конфиге nginx в секции
location ~ '\.php$|^/update.php'
прописал
fastcgi_pass unix:/run/php-fpm/
www.sock;
По ошибке nginx гуглил пол дня, куча рекомендаций, но в моем случае не помогли.
Честно говоря, нет четкого понимания о чем говорит эта ошибка nginx
Подскажите пожалуйста, если есть соображения
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 03 окт 2024, 19:51
turik02
vic1958 писал(а): 03 окт 2024, 15:38
А при обращении к index.php пишет файл не найден.
vic1958, А он точно есть?
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 04 окт 2024, 13:30
vic1958
turik02,
Все, вопрос снимается, решение нашел -
nginx.conf
Секция
location ~ '\.php$|^/update.php' {...}
В строке
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
вместо /scripts указал абсолютный путь к root'у сайта:
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
и все заработало!
Спасибо!
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 04 окт 2024, 14:45
turik02
vic1958,
vic1958 писал(а): 04 окт 2024, 13:30
решение нашел
Вот и всё, замечательно! Надеюсь, больше не возникнет никаких проблем.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 04 окт 2024, 18:03
vic1958
turik02,
В общем все работает, еще раз большое спасибо за помощь!
Есть интересная проблема, честно говоря, на первый взгляд мистическая:-)
Сервер на виртуалке, виртуалку мы арендуем.
Деньги берут и за время работы сервера, а поскольку он тестовый, есть расписание, по которому сервак в 21.00 вырубается и в 9.00 включается.
В конфиге php-fpm прописано, что socket-файл хранить в /run/php-fpm
Сам сервис папку не создает, ее создаю я mkdir /run/php-fpm
Сервис запускается, файл на месте.
Но утром каталога уже нет - его опять надо создавать руками и запускать сервис.
Чувствую, что в трех соснах брожу, но выхода пока не вижу:-)
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 04 окт 2024, 22:04
nickm
vic1958 писал(а): 04 окт 2024, 18:03
Сам сервис папку не создает, ее создаю я mkdir /run/php-fpm
Сервис запускается, файл на месте.
Но утром каталога уже нет - его опять надо создавать руками и запускать сервис.
Указанная директория временная и создаётся в сеансе жизни системы;
vic1958 писал(а): 04 окт 2024, 18:03Чувствую, что в трех соснах брожу, но выхода пока не вижу:-)
Почитайте.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 04 окт 2024, 23:51
turik02
vic1958, Можно отключить автозагрузку службы, раз она не работает:
Скачай архив, распакуй его. В нём два файла, они будут создавать папку и запускать службу.
Инструкция внутри файлов.
Перезагрузи комп и проверь есть ли папка /run/php-fpm и службу
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 05 окт 2024, 01:07
turik02
vic1958,
Или же можно изменить путь к сокету в файле конфигурации /opt/php/etc/php-fpm.d/
www.conf (возможно, у тебя будет другой путь).
Найди строку 41, которая содержит:
listen = /run/php-fpm/
www.sock
И замени её на другую, например:
listen = /opt/
www.sock
После внесения изменений перезагрузи компьютер и проверь результат:
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 07 окт 2024, 11:00
vic1958
turik02,
Доброго дня!
Спасибо за рекомендации!
Решил пойти по наиболее простому пути - откорректировал в кофиге путь к сокет-файлу
/run/
www.socket
И все работает - после перезагрузки php-fpm стартует без проблем.
Просто так и остался нерешенным вопрос - почему каталог, который я создаю вручную
с помощью команды mkdir исчезает после перезагрузки...
В то время как с другими каталогами (например /run/openvpn, который не запущен и сокет-файла там нет)
ничего не происходит.
А вот мой /run/php-fpm как паршивая овца:-)
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 07 окт 2024, 13:07
turik02
vic1958,
vic1958 писал(а): 07 окт 2024, 11:00
Просто так и остался нерешенным вопрос - почему каталог, который я создаю вручную
с помощью команды mkdir исчезает после перезагрузки...
Дело в том, что каталог /run всегда существует, даже если компьютер отключен. Поэтому при включении компьютера он уже есть, и в нём создаётся файл /run/
www.socket.
Если сделать каталог /run/php-fpm, то это не поможет, потому что всё в каталоге /run стирается при перезагрузке.
В данном случае служба php-fpm.service создаёт только сокет (
www.socket), а каталог php-fpm нет. А так как нет каталога, то служба не может создать сокет.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 07 окт 2024, 14:25
vic1958
turik02,
turik02 писал(а): 07 окт 2024, 13:07
Если сделать каталог /run/php-fpm, то это не поможет, потому что всё в каталоге /run стирается при перезагрузке.
А как же тогда остальные каталоги в /run?
Почему они не затираются? Как, например, /run/openvpn? И еще куча других?
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 07 окт 2024, 15:47
turik02
vic1958,
При каждой загрузке компьютера система создаёт каталог openvpn и другие каталоги (я не знаю, какой именно процесс отвечает за это). Когда компьютер выключен, каталог /run пуст. Это можно проверить, загрузившись в LIVE-режиме и зайдя на свой диск.
Служба php-fpm.service создаёт только сокет. А в коде записан каталог /run/php-fpm.
Например, если хочешь, чтобы служба php-fpm.service создавала каталог для сокета, нужно добавить соответствующую строку в файл в разделе service
[Service]
PIDFile=/run/php-fpm/%i.pid (или будет
www.socket или
www.pid)
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 07 окт 2024, 16:48
vic1958
turik02,
Большое спасибо!
Теперь все понятно
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 07 окт 2024, 17:27
turik02
vic1958, Я ошибся. Нужно добавить не строку PIDFile=..., а две строки
[Service]
RuntimeDirectory=php-fpm
RuntimeDirectoryMode=0755
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Добавлено: 11 окт 2024, 13:07
vic1958
turik02,
turik02 писал(а): 07 окт 2024, 17:27
Я ошибся. Нужно добавить не строку PIDFile=..., а две строки
[Service]
RuntimeDirectory=php-fpm
RuntimeDirectoryMode=0755
Спасибо!