Допустим, я скомпилировал и установил PHP, а через несколько месяцев мне захотелось добавить дополнительное расширение.
Нужно ли мне указывать все, что я включил во время первоначальной установки вместе с новым модулем, который мне нужен?
Что, если я не помню точную команду, которую использовал для компиляции моей первоначальной установки PHP?
Я должен пройти через все ...
./configure ... сделать && сделать установить
Прежде всего, в зависимости от вашего дистрибутива / среды, модуль может быть доступен как пакет расширения DLL / Linux, который намного проще установить и не требует перекомпиляции. Однако, если вам абсолютно необходимо ...
1 - Да, обычно вам нужно указать все, начиная с начальной сборки. Если вы не хотите радикально изменить имеющуюся у вас настройку (например, удалить модули и т. Д.)
2 - Создайте файл php со следующим:
<?php
phpinfo();
?>
Просмотрите этот сценарий в браузере, чтобы увидеть информацию о вашей текущей установке PHP. Вверху вы должны увидеть команду configure, используемую в начальной сборке. Обратите внимание, что пути к некоторым библиотекам могут отличаться на вашем компьютере, если вы не компилировали ранее (например, пути, используемые во время компиляции вашими любимыми разработчиками дистрибутива).
3 - Да, обычно вам нужно сделать ./configure [options] && make && make install, чтобы получить двоичные файлы и модули в нужных местах с указанными вами параметрами конфигурации.
Вы можете компилировать расширения как общие объекты, что означает, что вам не нужно снова компилировать предыдущий двоичный файл PHP с нуля. Однако, если по какой-то причине вы не хотите этого делать, да, вам нужно помнить свои предыдущие параметры времени компиляции. Однако это легко найти. Быстрый скрипт со следующим в нем дает вам параметры времени компиляции
<?php phpinfo(); ?>
Однако я советую идти по пути общих расширений.