Компиляция 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 намеки на решение. Выполните следующие действия:
удалить mysql-client-5.6 и mysql-server-5.6:
[sudo] apt-get remove mysql-client-5.6 mysql-server-5.6
.начать
Это просто выстрел в темноте, но вы можете попробовать установить 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
выполнить успешно.
-
полностью удалить MySQL (а не только соответствующие пакеты 5.6)
очень важно, чтобы все пакеты MySQL и любые файлы конфигурации были полностью удалены. Вы можете проверить, какие пакеты mysql установлены, запустив
dpkg -l | grep mysql
, посмотреть что делают различныеdpkg
флаги, такие как " ii ""rc", означают?удалите пакеты с опцией очистки:
apt-get remove --purge <package name>
вы можете также необходимо вручную удалить некоторые файлы. прочитайте сообщение, что
apt-get remove --purge
печатает, и он скажет вам, если он не удаляет определенные файлы и почему он не удаляет их. вам нужно вручную удалить те файлы, которые apt-get не удаляет. Скорее всего, они будут файлами где-то внутри . -
выполнить
apt-get build-dep php5
это делает
apt-get build-dep php5
запустить успешно и установит MySQL 5.5! -
обеспечить это.
позже, когда вы попытаетесь скомпилировать, вы получите ошибки, жалующиеся на
readline
илиmcrypt
например:configure: error: Please reinstall readline - I cannot find readline.h
все эти ошибки решаются путем установки
libmcrypt-dev
. :) мне потребовалось слишком много времени, чтобы понять эту проблему.apt-get install libmcrypt-dev
-
полностью удалить MySQL с
пройдите через процесс, как вы сделали в шаге 1, за исключением этого времени 5.5 вы удаляете.
Установить MySQL 5.6
устранение неполадок: при попытке компиляции вы все еще получаете ошибки?
обеспечить это.