Компиляция PHP из исходного кода с MySQL версии 5.6

Я пытаюсь скомпилировать PHP из исходного кода, чтобы заставить ZTS работать. У меня есть источник для PHP, и я пытаюсь установить зависимости с помощью

apt-получить строить-деп в php5

У меня также установлен MySQL 5.6 для Ubuntu 14.04 LTS, и я получаю эту ошибку после команды:

следующие пакеты имеют неудовлетворенные зависимости: mysql-server: зависит: mysql-server-5.5, но он не будет установлен E: зависимости сборки ибо php5 не мог быть удовлетворен.

есть ли в любом случае обойти эту зависимость, поскольку MySQL 5.6 работает нормально с предварительно построенным PHP5, но я не могу начать компиляцию, поскольку зависимость отсутствует? Спасибо!

5 ответов


хотя и не тот же вопрос этот отчет об ошибке MySQL намеки на решение. Выполните следующие действия:

  1. удалить mysql-client-5.6 и mysql-server-5.6:[sudo] apt-get remove mysql-client-5.6 mysql-server-5.6.

  2. начать


Это просто выстрел в темноте, но вы можете попробовать установить mysql 5.5 сначала с требуемыми сборками php, и как только вы закончите, обновите mysql до 5.6


почему вы используете apt-get build-dep вместо install? Согласно man-странице apt-get, "build-deps" попытается удалить установленный пакет, чтобы разрешить зависимость, которая здесь mysql-server-5.6 . Я просто использовал install и он работает.

apt-get install php5

чтобы проверить, использует ли php mysql-5.6, я установил PhpMyadmin с помощью apt-get, и он отлично работает с 5.6, вы можете сделать то же самое и на странице переменных проверить переменную с именем "версия".

просто как FYI apt-get build-dep отличается от здания из источника.


поскольку этот вопрос касается установки PHP5 из источника:
apt-get build-dep сомнителен.
Обнаружение зависимостей должно соответствовать тем же определениям, что и в
предоставленный php5-debian-пакет.
Как я понимаю, вы хотите иметь другую конфигурацию сборки
однако для вашей установки php5.
Так что это нормальный процесс ./ configure --your-configure-options
и сделайте clean compile install.
Этот определения зависимостей, генерируемые вызовом configure
не экспортируется и не отображается в apt.
Таким образом, вам придется решить dependecies самостоятельно, установив
правильная версия программного обеспечения, необходимого для создания php5-установки
и, возможно, пакеты разработки для обеспечения правильных заголовков, необходимых для здание.


PHP не может быть скомпилирован из проверки Git на Ubuntu 14.04 из коробки.

Добро пожаловать в ад зависимостей.

попробуйте скомпилировать из предварительно скомпилированные скачать.

причина, по которой проверка Git не будет компилироваться из-за проблем с зависимостями с Bison. Ubuntu 14.04 имеет Bison ~3.0.0 и Bison ~2.0.0 требуется для компиляции PHP.

checking for bison... bison -y
checking for bison version... invalid
configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: 3.0, min: 204, excluded: 3.0).
configure: error: bison is required to build PHP/Zend when building a GIT checkout!

решение

вот обходной путь, чтобы сделать apt-get build-dep php5 выполнить успешно.

  1. полностью удалить MySQL (а не только соответствующие пакеты 5.6)

    очень важно, чтобы все пакеты MySQL и любые файлы конфигурации были полностью удалены. Вы можете проверить, какие пакеты mysql установлены, запустив dpkg -l | grep mysql, посмотреть что делают различные dpkg флаги, такие как " ii ""rc", означают?

    удалите пакеты с опцией очистки:apt-get remove --purge <package name>

    вы можете также необходимо вручную удалить некоторые файлы. прочитайте сообщение, что apt-get remove --purge печатает, и он скажет вам, если он не удаляет определенные файлы и почему он не удаляет их. вам нужно вручную удалить те файлы, которые apt-get не удаляет. Скорее всего, они будут файлами где-то внутри .

  2. выполнить apt-get build-dep php5

    это делает apt-get build-dep php5 запустить успешно и установит MySQL 5.5!

  3. обеспечить это.

    позже, когда вы попытаетесь скомпилировать, вы получите ошибки, жалующиеся на readline или mcrypt например:

    configure: error: Please reinstall readline - I cannot find readline.h
    

    все эти ошибки решаются путем установки libmcrypt-dev. :) мне потребовалось слишком много времени, чтобы понять эту проблему.

    apt-get install libmcrypt-dev
    
  4. полностью удалить MySQL с

    пройдите через процесс, как вы сделали в шаге 1, за исключением этого времени 5.5 вы удаляете.

  5. Установить MySQL 5.6

устранение неполадок: при попытке компиляции вы все еще получаете ошибки?

обеспечить это.