Задать вопрос
Slavenin999
@Slavenin999
программист php/erlang/elixir/js

Как обновить библиотеку php intl icu?

Всем привет! В общем-то был уже такой вопрос, но решения там нет. Столкнулся с той же самой проблемой.
Версия php
PHP 7.0.20 (cli) (built: Jun 8 2017 09:31:29) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v6.0.9, Copyright (c) 2002-2016, by ionCube Ltd.
with Zend OPcache v7.0.20, Copyright (c) 1999-2017, by Zend Technologies
with Xdebug v2.5.1, Copyright (c) 2002-2017, by Derick Rethans
Ось:
NAME="Red Hat Enterprise Linux Server"
VERSION="7.3 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="7.3"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.3 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.3:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.3
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.3"
Red Hat Enterprise Linux Server release 7.3 (Maipo)
Red Hat Enterprise Linux Server release 7.3 (Maipo)


Скачал последнюю версию поставил по мануалу. Никаких проблем в процессе не обнаружилось.

Но php упорно показывает версию 50.
Nginx перезапускал, расширение переустанавливал, --prefix не использовал. Если верить мануалу этого должно быть достаточно, чтобы подцепилась новая версия, но этого почему-то не происходит.
При запуске icuinfo выдаёт:
icuinfo: error while loading shared libraries: libicutu.so.59: cannot open shared object file: No such file or directory

возможно где-то здесь собака порылась?

PS пробовал запускать тесты gmake check - все выполнились успешно.
Куда копать - ума не приложу. Очень нужно обновить, так как Symfony использует внутри типа даты для форм, расширение intl и если ему передаётся дата 04.06.2017 23:59:59, то на выходе получается 05.06.2017

UPD
сделал по этому мануалу. Теперь icuinfo работает. Но в php ничего не поменялось. Стоит nginx возможно, надо где-то у него поменять env переменные?
UPD2
Добавил к окружению LD_LIBRARY_PATH - в конфиге она появилась. Версия осталась без изменений...
  • Вопрос задан
  • 328 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@vyrkmod
Пишу на php. И не стыдно.
Видимо nginx c php общаются через сокет. Ищите в конфигах nginx-а (скорее всего в "/etc/nginx/conf.d/php-fpm.conf") "upstream php-fpm" и меняйте сокет на семёрочный. Потом могут возникнуть траблы с правами на чтение/запись, тогда в php-шном www.conf ищем listen.owner и вписываем туда юзверя под которым запускается nginx.
Как вариант, можно вместо сокета в обоих конфигах вписать "127.0.0.1:9000".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы