Debian және Ubuntu жүйелерінде PHP модульдерін орнату
Төменде Ubuntu немесе Debian операциялық жүйесі орнатылған серверде PHP модульдерін орнатуды қарастырамыз.
phpinfo-скриптін жасау
Модульдерді орнату барысында сервердегі PHP параметрлері туралы ақпарат алу қажет болады, сондықтан ең алдымен сайт каталогына phpinfo.php скриптін орналастырамыз.
Ол үшін келесі қадамдарды орындаңыз:
1. Сайт каталогына өтіңіз:
cd сайт/каталогына/жол
Мысалы, егер серверде LAMP орнатылған болса (сервер құрылған кезде автоматты түрде орнатылады):
cd /var/www/html
Егер серверде VestaCP панелі орнатылған болса:
cd /home/пайдаланушы_аты/web/домен_аты/public_html
2. phpinfo.php файлын жасаңыз:
nano phpinfo.php
3. phpinfo.php файлына келесі кодты қойыңыз:
<?php
phpinfo();
phpinfo(INFO_MODULES);
?>
4. Өзгерістерді сақтаңыз (nano редакторынан шығу үшін Ctrl+X, өзгерістерді сақтау үшін Y басыңыз да, Enter пернесін басыңыз).
Одан кейін http://сіздің-домен/phpinfo.php мекенжайына өтіңіз — браузерде PHP баптаулары туралы ақпарат көрсетіледі.
imagick мысалында модульдерді орнату
PHP модульдерін орнату процесін imagick модулінің мысалында қарастырайық.
1. Пакеттің атауын анықтаңыз.
Егер пакеттің нақты атауын білмесеңіз, қажетті модульді табу үшін пакет атауының бір бөлігін көрсетіп, келесі команданы пайдаланыңыз. PHP кітапханаларының көпшілігінің атауы "php-" деп басталады.
apt-cache search пакет_атауы
Мысалы:
apt-cache search php-imagick
Команданың нәтижесі шамамен мынадай болады:

Бұл жағдайда бізге php-imagick пакетін орнату қажет.
2. Репозиторийлердегі қолжетімді пакеттер туралы ақпаратты жаңартыңыз:
apt update
3. Қажетті кітапхананы орнатыңыз, мысалы:
apt install php-imagick
4. Кеңейтімдерді сақтау үшін қай каталог белгіленгенін тексеріңіз. Бұл ақпаратты http://сіздің-домен/phpinfo.php бетіндегі «extension_dir» параметрінен табуға болады:

Көрсетілген каталогқа өтіңіз:
cd /қажетті/каталог
Біздің нақты жағдайда:
cd /usr/lib/php/20170718
Орнатылған кітапхананың бар-жоғын тексеріңіз:
ls
Шығысты жеңілдету үшін кітапхана атауының бір бөлігін де көрсетуге болады, мысалы:
ls ima*
Егер кітапхана бар болса, ол консольде көрсетіледі:
![]()
5. Қосымша конфигурациялық файлдар үшін қай каталог пайдаланылатынын тексеріңіз. Ол үшін http://сіздің-домен/phpinfo.php бетінен «Scan this dir for additional .ini files» параметрін табу керек:
![]()
Көрсетілген каталогқа өтіп, оның мазмұнын қараңыз:
cd /қажетті/каталог
ls
Біздің нақты жағдайда:
cd /etc/php/7.2/apache2/conf.d ls
Шығысты жеңілдету үшін кітапхана атауының бір бөлігін де көрсетуге болады, мысалы:
ls *imag*
Егер кітапхананы қосатын директивасы бар конфигурациялық файл сәтті жасалған болса, ол консольде көрсетіледі:
![]()
Егер файл жоқ болса, оны жасау үшін төмендегі команданы пайдаланыңыз:
echo "extension=imagick.so" > /5-қадамдағы/каталог/imagick.ini
Бұл жағдайда:
echo "extension=imagick.so" > /etc/php/7.2/apache2/conf.d/imagick.ini
Бұл команда қажетті каталогта imagick.ini конфигурациялық файлын жасап, оған extension=imagick.so директивасын қосады.
6. Apache веб-серверін қайта іске қосыңыз:
service apache2 restart
7. Барлығы дұрыс жұмыс істейтініне көз жеткізу үшін http://сіздің-домен/phpinfo.php бетін жаңартып, орнатылған модульді табыңыз:

Сыртқы кітапханаларды қосу
Егер репозиторийден жүктелмеген кітапхананы қосу қажет болса, келесі қадамдарды орындаңыз:
1. .so кеңейтімі бар файлды басқа кітапханалар орналасқан каталогқа жүктеңіз. Бұл каталогты анықтау үшін http://сіздің-домен/phpinfo.php бетіндегі extension_dir параметрінің мәнін пайдаланыңыз. Мысалы, біздің жағдайда бұл — /usr/lib/php/20170718.

2. Қосымша конфигурациялық файлдар орналасқан каталогқа өтіңіз. Бұл каталогты phpinfo.php бетіндегі «Scan this dir for additional .ini files» параметрінің мәні көрсетеді. Мысалы, бізде бұл — /etc/php/7.2/apache2/conf.d:
cd /etc/php/7.2/apache2/conf.d
3. Жаңа конфигурациялық файл жасаңыз:
nano кітапхана_атауы.ini
Мысалы:
nano curl.ini
4. Жасалған файлдың ішінде директиваны көрсетіп, енгізілген өзгерістерді сақтаңыз:
extension=кітапхана_атауы.so
Мысалы:
extension=curl.so
5. Apache веб-серверін қайта іске қосыңыз:
service apache2 restart
6. Осыдан кейін http://сіздің-домен/phpinfo.php бетін жаңартып, кітапхананың сәтті орнатылғанын тексеріңіз.
Егер кітапхана файлы басқа каталогқа орналастырылған болса, 4-қадамда extension директивасында тиісті жолды көрсету қажет.
extension=/usr/local/lib/php/extensions/curl.so