Как скомпилировать модули PHP
При разработке на PHP с использованием ServBay вам может понадобиться скомпилировать и установить дополнительные модули PHP для расширения его функциональности. В этой статье мы рассмотрим, как в среде ServBay скомпилировать модули PHP, в частности, модули 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 на macOS вам необходимо сначала установить ODBC-драйверы Microsoft msodbcsql18
и mssql-tools18
.
ServBay не включает MS ODBC, используйте Homebrew для установки.
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql18 mssql-tools18
2
3
Модуль 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.
export LDFLAGS="-L/opt/homebrew/lib ${LDFLAGS}"
export CPPFLAGS="-I/opt/homebrew/opt/unixodbc/include ${CPPFLAGS}"
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config
2
3
Шаг 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.