PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Правила форума
Уважаемые пользователи! Поддержка, ответы на вопросы и проблемы по серверу принимаются:
1) на багзилле http://bugs.rosalinux.ru/enter_bug.cgi? ... A%20Server
2) или после заполнения формы на http://www.rosalab.ru/products/server/download вы получаете 30 дней БЕСПЛАТНОЙ техподдержки по серверу.
Ответы на ваши вопросы на форуме НЕ ГАРАНТИРУЮТСЯ. Спасибо за понимание!
Уважаемые пользователи! Поддержка, ответы на вопросы и проблемы по серверу принимаются:
1) на багзилле http://bugs.rosalinux.ru/enter_bug.cgi? ... A%20Server
2) или после заполнения формы на http://www.rosalab.ru/products/server/download вы получаете 30 дней БЕСПЛАТНОЙ техподдержки по серверу.
Ответы на ваши вопросы на форуме НЕ ГАРАНТИРУЮТСЯ. Спасибо за понимание!
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Всем добра, у меня есть необходимость поставить PHP 8.2 или выше с поддержкой MSSQL (sqlsrv ext) искал по всему рунету так и не нашел данных пакетов в репозитории (стоковом) находится только 7.4. Подскажите какой репозиторий можно использовать ? не уж то компилировать весь PHP и его зависимости ?
-
- Сообщения: 1
- Зарегистрирован: 11 мар 2024, 15:28
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Для PHP 8.2+ с поддержкой MSSQL рассмотрите возможность добавления репозитория ondrej/php. Инструкции можно найти по этой ссылке: [ссылка]. Альтернативно можно скомпилировать PHP и его зависимости, но это немного сложнее. Документация PHP может помочь вам в этом процессе. Надеюсь это поможет!
Я помощник по личному уходу!!!snake game
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Доброго времени суток!
Есть необходимость установить на Роса-сервер (ROSA Chrome Server 12.5.1)
PHP8.1 или выше с поддержкой Postgresql
Подскажите плиз, как можно это реализовать.
В предыдущем посте есть рекомендация по подключению дополнительного репозитория, но
ссылка на инструкцию не работает - если не сложно, напишите здесь, как это сделать?
И так, для общего развития, может кто знает, почему на серверной платформе и в официальной репе только php7.4,
ходя для решения многих вопросов уже давно используется 8.х - есть на то
какие-то серьезные причины?
Есть необходимость установить на Роса-сервер (ROSA Chrome Server 12.5.1)
PHP8.1 или выше с поддержкой Postgresql
Подскажите плиз, как можно это реализовать.
В предыдущем посте есть рекомендация по подключению дополнительного репозитория, но
ссылка на инструкцию не работает - если не сложно, напишите здесь, как это сделать?
И так, для общего развития, может кто знает, почему на серверной платформе и в официальной репе только php7.4,
ходя для решения многих вопросов уже давно используется 8.х - есть на то
какие-то серьезные причины?
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
php непопулярен и умирать. В платформах нет пакетов которым бы требовался php8, поэтому и его нет.
вот ссылка на его пакеты https://mirror.yandex.ru/mirrors/launchpad/ondrej/php/
ps. вроде как все уже в docker ставят php8 + нужный софт и радуются
вот ссылка на его пакеты https://mirror.yandex.ru/mirrors/launchpad/ondrej/php/
ps. вроде как все уже в docker ставят php8 + нужный софт и радуются
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
Спасибо!
А как прикрутить ссылку на пакеты к системе?
Ну или как достать пакет со всеми зависимостями для оффлайн установки?
Если не сложно - опишите процесс пож - пока плаваю в этом вопросе...
А как прикрутить ссылку на пакеты к системе?
Ну или как достать пакет со всеми зависимостями для оффлайн установки?
Если не сложно - опишите процесс пож - пока плаваю в этом вопросе...
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
У него там deb пакеты, я незнаю.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
С 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 существует и пакет можно скачать...
У меня жесткие условия - чистая ОС РОСА
На ней 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
Костыли все это, Docker, Wine, Virtualbox. Уж тогда ставить на комп ту ОС что требуется.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
vic1958, УСТАНОВКА PHP 8.3
КОМПИЛИРУЕТСЯ ЛЕГКО (ДЕЛАЛ СРАЗУ ЖЕ ПОСЛЕ УСТАНОВКИ ROSA 12.5.1)
Обновляем ОС
Нужно установить из репозитория ROSA
Запуск сервера происходит следующей командой
Чтобы сервер стартовал при загрузке компьютера
После каких-либо изменений в конфигурационных файлах, обычно сервер перезапускают
Перезапуск сервера
Потом перейти по ссылке 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
КОМПИЛИРУЕТСЯ ЛЕГКО (ДЕЛАЛ СРАЗУ ЖЕ ПОСЛЕ УСТАНОВКИ ROSA 12.5.1)
Обновляем ОС
Код: Выделить всё
sudo dnf update
Код: Выделить всё
sudo dnf install apache-mod_php apache-base bison re2c autoconf gcc-c++ lib64pq++-devel lib64xslt-devel lib64xml2-devel lib64sqlite3-devel
Код: Выделить всё
sudo systemctl start httpd
Код: Выделить всё
sudo systemctl enable httpd
Перезапуск сервера
Код: Выделить всё
sudo systemctl restart httpd
И скачать php-8.3.12RC1 (zip)
Распаковать архив и перейти в папку php-src-php-8.3.12RC1
Там нужно открыть терминал и выполнить
Код: Выделить всё
./buildconf --force
Код: Выделить всё
./configure
Код: Выделить всё
make
Код: Выделить всё
sudo make install
Код: Выделить всё
php --version
Код: Выделить всё
<?php phpinfo(); ?>
Код: Выделить всё
./php info.php
и https://ru.linux-console.net/?p=21973
Последний раз редактировалось turik02 17 сен 2024, 15:53, всего редактировалось 1 раз.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
turik02, Все получилось, спасибо!
Теперь осталось откомпилить с модулями:-)
Теперь осталось откомпилить с модулями:-)
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
vic1958, МОДУЛИ (если не ошибаюсь)
При компиляции вместо ./configure надо
Посмотреть установленные модули
СПИСОК ВСЕХ МОДУЛЕЙ https://www.php.net/manual/en/funcref.php
При компиляции вместо ./configure надо
Код: Выделить всё
/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
Код: Выделить всё
php -m
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
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.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.3.11.zip
- (2.7 КБ) 39 скачиваний
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
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 уже установлен.
Зависимости разрешены.
Отсутствуют действия для выполнения.
Чего не хватает?
Был в отпуске, только сегодня вышел.
При компиляции с модулями столкнулся с такой ошибкой:
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
libxml2-devel-2.9.14-6.i686 это для i686 же. удалите его. и лучше репозитарии i686 отключить на время
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
vic1958,
Отключение репозиториев может не помочь. А при удалении удаляется много зависимостей (может они нужны).
Но можно просто избавиться от ненужных пакетов, не затрагивая зависимости.
Удаляем
И
Потом устанавливаем
Вероятно, возникнет конфликт при установке пакета lib64xml2-devel.
Отключение репозиториев может не помочь. А при удалении удаляется много зависимостей (может они нужны).
Но можно просто избавиться от ненужных пакетов, не затрагивая зависимости.
Удаляем
Код: Выделить всё
sudo rpm -e --nodeps libicu-devel
Код: Выделить всё
sudo rpm -e --nodeps libxml2-devel
Код: Выделить всё
sudo dnf install lib64xml2-devel
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
vic1958,
Обычно для системы x86_64 в ОС ROSA требуется указать lib64, а для 32-разрядной — lib.
Некоторые названия зависимостей для системы x86_64 указаны в скрипте (если это необходимо, то можно открыть его в текстовом редакторе и ознакомиться).
Обычно для системы x86_64 в ОС ROSA требуется указать lib64, а для 32-разрядной — lib.
Некоторые названия зависимостей для системы x86_64 указаны в скрипте (если это необходимо, то можно открыть его в текстовом редакторе и ознакомиться).
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
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"
Как это можно обойти?
Рекомендации помогли, спасибо!
После установки 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
Ну дык dnf install postgresql14-devel
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
irton,
Я устанавливал так
dnf install postgresql14-server
dnf install postgresql14-contrib
systemctl enable postgresql14
systemctl start postgresql14
systemctl status postgresql14
Он в состоянии active
Это было сделано до запуска configure
Я устанавливал так
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
Ну так вам не сервер нужен, а devel пакет постгреса, в котором файлы нужные чтобы другие проги с ним компилировались.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
vic1958, Нужно
Код: Выделить всё
sudo dnf install lib64pq++-devel
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
vic1958, Обрати внимание на эти зависимости::
Если при запуске программы вы видите ошибку наподобие «configure: error: cannot find libpq-fe.h», попробуйте поискать что-то похожее, например, «lib64pq++-devel».
Ты же, кажется, уже один раз компилировали PHP? В таком случае, эти зависимости уже должны быть установлены в системе.
Код: Выделить всё
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
Ты же, кажется, уже один раз компилировали PHP? В таком случае, эти зависимости уже должны быть установлены в системе.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
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
На мой неискушенный взгляд, того, что мне надо здесь нет, подскажите пожалуйста, как быть?
Спасибо за конструктивную информацию!
Ошибка с файлом заголовков ушла.
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
vic1958,
Интересно, какая у тебя операционная система — 64-разрядная или 32-разрядная?
Код: Выделить всё
sudo dnf install lib64png-devel
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
turik02,
64
64
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
vic1958,
Используй лучше скрипт. Он установит все зависимости, там есть твои настройки для configure.
Он установит PHP в папку /opt/php, а не разбросит PHP по всему /usr и настроит кое-что (смотри содержимое скрипта).
Подправил скрипт 03.10.202 (поддержка Postgresql).
07.10 (Теперь при включении компьютера создаётся каталог /run/php-fpm)
Используй лучше скрипт. Он установит все зависимости, там есть твои настройки для configure.
Он установит PHP в папку /opt/php, а не разбросит PHP по всему /usr и настроит кое-что (смотри содержимое скрипта).
Подправил скрипт 03.10.202 (поддержка Postgresql).
07.10 (Теперь при включении компьютера создаётся каталог /run/php-fpm)
- Вложения
-
- PHP-8.3.11.zip
- (2.73 КБ) 8 скачиваний
Последний раз редактировалось turik02 07 окт 2024, 17:49, всего редактировалось 1 раз.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
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
Подскажите пожалуйста, если есть соображения
Доброго дня!
Благодаря рекомендации
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
Подскажите пожалуйста, если есть соображения
Последний раз редактировалось vic1958 04 окт 2024, 13:31, всего редактировалось 2 раза.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
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;
и все заработало!
Спасибо!
Все, вопрос снимается, решение нашел -
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
turik02,
В общем все работает, еще раз большое спасибо за помощь!
Есть интересная проблема, честно говоря, на первый взгляд мистическая:-)
Сервер на виртуалке, виртуалку мы арендуем.
Деньги берут и за время работы сервера, а поскольку он тестовый, есть расписание, по которому сервак в 21.00 вырубается и в 9.00 включается.
В конфиге php-fpm прописано, что socket-файл хранить в /run/php-fpm
Сам сервис папку не создает, ее создаю я mkdir /run/php-fpm
Сервис запускается, файл на месте.
Но утром каталога уже нет - его опять надо создавать руками и запускать сервис.
Чувствую, что в трех соснах брожу, но выхода пока не вижу:-)
В общем все работает, еще раз большое спасибо за помощь!
Есть интересная проблема, честно говоря, на первый взгляд мистическая:-)
Сервер на виртуалке, виртуалку мы арендуем.
Деньги берут и за время работы сервера, а поскольку он тестовый, есть расписание, по которому сервак в 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
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
vic1958, Можно отключить автозагрузку службы, раз она не работает:
Скачай архив, распакуй его. В нём два файла, они будут создавать папку и запускать службу.
Инструкция внутри файлов.
Перезагрузи комп и проверь есть ли папка /run/php-fpm и службу
Код: Выделить всё
sudo systemctl disable php-fpm
Инструкция внутри файлов.
Перезагрузи комп и проверь есть ли папка /run/php-fpm и службу
Код: Выделить всё
sudo systemctl status php-fpm
- Вложения
-
- my-php-fpm.service.zip
- (872 байт) 8 скачиваний
Последний раз редактировалось turik02 06 окт 2024, 03:45, всего редактировалось 3 раза.
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
vic1958,
Или же можно изменить путь к сокету в файле конфигурации /opt/php/etc/php-fpm.d/www.conf (возможно, у тебя будет другой путь).
Найди строку 41, которая содержит:
listen = /run/php-fpm/www.sock
И замени её на другую, например:
listen = /opt/www.sock
После внесения изменений перезагрузи компьютер и проверь результат:
Или же можно изменить путь к сокету в файле конфигурации /opt/php/etc/php-fpm.d/www.conf (возможно, у тебя будет другой путь).
Найди строку 41, которая содержит:
listen = /run/php-fpm/www.sock
И замени её на другую, например:
listen = /opt/www.sock
После внесения изменений перезагрузи компьютер и проверь результат:
Код: Выделить всё
sudo systemctl status php-fpm
- Вложения
-
- Снимок экрана от 2024-10-05 00-42-04.png (14.71 КБ) 934 просмотра
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
turik02,
Доброго дня!
Спасибо за рекомендации!
Решил пойти по наиболее простому пути - откорректировал в кофиге путь к сокет-файлу
/run/www.socket
И все работает - после перезагрузки php-fpm стартует без проблем.
Просто так и остался нерешенным вопрос - почему каталог, который я создаю вручную
с помощью команды mkdir исчезает после перезагрузки...
В то время как с другими каталогами (например /run/openvpn, который не запущен и сокет-файла там нет)
ничего не происходит.
А вот мой /run/php-fpm как паршивая овца:-)
Доброго дня!
Спасибо за рекомендации!
Решил пойти по наиболее простому пути - откорректировал в кофиге путь к сокет-файлу
/run/www.socket
И все работает - после перезагрузки php-fpm стартует без проблем.
Просто так и остался нерешенным вопрос - почему каталог, который я создаю вручную
с помощью команды mkdir исчезает после перезагрузки...
В то время как с другими каталогами (например /run/openvpn, который не запущен и сокет-файла там нет)
ничего не происходит.
А вот мой /run/php-fpm как паршивая овца:-)
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
vic1958,
Если сделать каталог /run/php-fpm, то это не поможет, потому что всё в каталоге /run стирается при перезагрузке.
В данном случае служба php-fpm.service создаёт только сокет (www.socket), а каталог php-fpm нет. А так как нет каталога, то служба не может создать сокет.
Дело в том, что каталог /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
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)
При каждой загрузке компьютера система создаёт каталог 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
turik02,
Большое спасибо!
Теперь все понятно
Большое спасибо!
Теперь все понятно
PHP 8.2 with MSSQL support on ROSA Chrome 2021.1
vic1958, Я ошибся. Нужно добавить не строку PIDFile=..., а две строки
[Service]
RuntimeDirectory=php-fpm
RuntimeDirectoryMode=0755
[Service]
RuntimeDirectory=php-fpm
RuntimeDirectoryMode=0755