Назад | Перейти на главную страницу

Повторная компиляция PHP

Допустим, я скомпилировал и установил PHP, а через несколько месяцев мне захотелось добавить дополнительное расширение.

  1. Нужно ли мне указывать все, что я включил во время первоначальной установки вместе с новым модулем, который мне нужен?

  2. Что, если я не помню точную команду, которую использовал для компиляции моей первоначальной установки PHP?

  3. Я должен пройти через все ...

    ./configure ... сделать && сделать установить

Прежде всего, в зависимости от вашего дистрибутива / среды, модуль может быть доступен как пакет расширения DLL / Linux, который намного проще установить и не требует перекомпиляции. Однако, если вам абсолютно необходимо ...

1 - Да, обычно вам нужно указать все, начиная с начальной сборки. Если вы не хотите радикально изменить имеющуюся у вас настройку (например, удалить модули и т. Д.)

2 - Создайте файл php со следующим:

<?php
  phpinfo();
?>

Просмотрите этот сценарий в браузере, чтобы увидеть информацию о вашей текущей установке PHP. Вверху вы должны увидеть команду configure, используемую в начальной сборке. Обратите внимание, что пути к некоторым библиотекам могут отличаться на вашем компьютере, если вы не компилировали ранее (например, пути, используемые во время компиляции вашими любимыми разработчиками дистрибутива).

3 - Да, обычно вам нужно сделать ./configure [options] && make && make install, чтобы получить двоичные файлы и модули в нужных местах с указанными вами параметрами конфигурации.

Вы можете компилировать расширения как общие объекты, что означает, что вам не нужно снова компилировать предыдущий двоичный файл PHP с нуля. Однако, если по какой-то причине вы не хотите этого делать, да, вам нужно помнить свои предыдущие параметры времени компиляции. Однако это легко найти. Быстрый скрипт со следующим в нем дает вам параметры времени компиляции

<?php phpinfo(); ?>

Однако я советую идти по пути общих расширений.