Как скомпилировать модули PHP
При использовании ServBay для разработки PHP вам может потребоваться скомпилировать и установить дополнительные модули PHP, чтобы расширить его функциональность. В этой статье будет показано, как компилировать модули PHP в среде ServBay, включая компиляцию модуля imagick
и модуля sqlsrv
.
Предпосылки
Перед началом компиляции модулей PHP убедитесь, что вы уже инициализировали среду компиляции. Подробные шаги по инициализации среды компиляции можно найти в документации Использование ServBay для повторной компиляции.
Важность указания версии PHP
ServBay поставляется с несколькими версиями PHP, и при использовании таких инструментов, как phpize
, php-config
и других, обязательно указывать версию PHP, которую вы используете. Это связано с тем, что разные версии PHP могут иметь разные настройки и зависимости, и выбор правильной версии может помочь избежать ошибок компиляции и проблем во время выполнения.
В данном примере используется PHP 8.3
.
Компиляция модуля PHP imagick
Модуль imagick
- это расширение для PHP, используемое для обработки изображений. Вот шаги по компиляции модуля imagick
:
Шаг 1: Загрузка исходного кода
Сначала загрузите исходный код модуля imagick
с PECL.
wget https://pecl.php.net/get/imagick-3.7.0.tgz
Шаг 2: Распаковка исходного кода
Распакуйте загруженный исходный код.
tar zxvf imagick-3.7.0.tgz
cd imagick-3.7.0
2
Шаг 3: Генерация файла конфигурации
Используйте phpize
для генерации файла конфигурации. При этом обязательно укажите версию PHP, которую вы используете. Например, если вы используете PHP 8.3, выполните следующую команду:
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize
Шаг 4: Настройка опций компиляции
Настройте опции компиляции, указав путь к конфигурации PHP.
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config
Шаг 5: Компиляция и установка
Скомпилируйте и установите модуль imagick
.
make -j ${CPU_NUMBER}
make install
2
Шаг 6: Включение модуля
Создайте файл imagick.ini
в каталоге conf.d
для PHP, чтобы включить модуль imagick
. Например:
echo "extension=imagick.so" > /Applications/ServBay/package/etc/php/8.3/conf.d/imagick.ini
Шаг 7: Проверка загрузки модуля
Перезапустите сервис PHP через панель управления ServBay и проверьте через командную строку, успешно ли загружен модуль:
php-8.3 -m | grep imagick
Если модуль загружен успешно, вы увидите imagick
в выводе результата.
Компиляция модуля PHP sqlsrv
Модуль sqlsrv
- это расширение для PHP, используемое для взаимодействия с Microsoft SQL Server. Вот шаги по компиляции модуля sqlsrv
:
Шаг 1: Загрузка исходного кода
Сначала загрузите исходный код модуля sqlsrv
с PECL.
wget https://pecl.php.net/get/sqlsrv-5.12.0.tgz
Шаг 2: Распаковка исходного кода
Распакуйте загруженный исходный код.
tar zxvf sqlsrv-5.12.0.tgz
cd sqlsrv-5.12.0
2
Шаг 3: Генерация файла конфигурации
Используйте phpize
для генерации файла конфигурации. При этом обязательно укажите версию PHP, которую вы используете. Например, если вы используете PHP 8.3, выполните следующую команду:
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize
Шаг 4: Настройка опций компиляции
Настройте опции компиляции, указав путь к конфигурации PHP.
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config
Шаг 5: Компиляция и установка
Скомпилируйте и установите модуль sqlsrv
.
make -j ${CPU_NUMBER}
make install
2
Шаг 6: Включение модуля
Создайте файл sqlsrv.ini
в каталоге conf.d
для PHP, чтобы включить модуль sqlsrv
. Например:
echo "extension=sqlsrv.so" > /Applications/ServBay/package/etc/php/8.3/conf.d/sqlsrv.ini
Шаг 7: Проверка загрузки модуля
Перезапустите сервис PHP через панель управления ServBay и проверьте через командную строку, успешно ли загружен модуль:
php-8.3 -m | grep sqlsrv
Если модуль загружен успешно, вы увидите sqlsrv
в выводе результата.
Заключение
Следуя вышеописанным шагам, вы можете компилировать и устанавливать необходимые модули PHP в среде ServBay. Обязательно указывайте правильную версию PHP в процессе компиляции, чтобы обеспечить совместимость модулей с вашей средой PHP. Надеемся, что эта статья поможет вам успешно скомпилировать и активировать модули PHP.