Установка свежей версии timezonedb на не дефолную версию php на VPS
Установка свежей версии timezonedb на не дефолную версию php на VPS¶
Если у вас несколько версий php
Важно указать путь к phpize той сборки php, для которой будет установлено расширение. Дефолтный phpize и phpize других версий php изменят настройки расширения под свою версию php api, поэтому очень важно не перепутать версию phpize при сборке.
Также важно в параметрах configure верно указать путь к php-config нужной версии php.
К примеру
К примеру, мы устанавливаем расширение для сборки php 5.5 из каталога /opt/php55. Следовательно, у нас путь к данным файлам будет иметь вид: * phpize - /opt/php55/bin/phpize * phpconfig - /opt/php55/bin/php-config
И именно путь к этим версиям phpize и php-config мы будем использовать при конфигурации собираемого расширения перед сборкой.
Скачиваем архив с расширением¶
wget https://pecl.php.net/get/timezonedb-2018.9.tgz
Распаковываем¶
tar -xvf timezonedb-2018.9.tgz
cd timezonedb-2018.9
Конфигурирем перед сборкой¶
phpize¶
/opt/php/5.5/bin/phpize
configure¶
./configure --with-php-config=/opt/php55/bin/php-config
Сборка¶
make
Установка расширения¶
make install
echo "extension=timezonedb.so" > /opt/php55/etc/php.d/timezonedb.ini
что-бы собранное расширение подхватилось php.
Проверка¶
Проверяем в консоли¶
Выполняем
/opt/php55/bin/php -i|grep timezone
Проверяем на сайте¶
Перезапускаем Apache, в моём случае командой
service httpd restart
в вашей возможно понадобится
systemctl restart httpd
После чего создаём в хомяке сайта, использующего данную сборку php, файл phpinfo.php
<?php phpinfo(); ?>
Переходим по url вида https://имя.сайта/phpinfo.php, где вместо "имя.сайта" - доменное имя вашего сайта. Видим что информация о Timezone DB изменилась, теперь сборка юзает свежую timezonedb из собранного вами расширения, а не базу timezonedb, с которой данная сборка php была собрана изначально.