makefile — Проблемы с префиксом пути PHP при компиляции из исходного кода

Я следую этим двум статьям, чтобы установить несколько версий PHP при компиляции из исходного кода:
http://www.sitepoint.com/run-multiple-versions-php-one-server/
http://www.phpinternalsbook.com/build_system/building_php.html

Я пытаюсь установить PHP 5.6 в / opt / php56 (каталог, который я создал), однако, когда я запускаю ./buildconf, а затем запускаю следующее, PHP перезаписывает себя.

Как я компилирую PHP:

./buildconf (does its thing)...

./configure \
--prefix-dir=/opt/php56/ \
--disable-opcache \
--enable-bcmath \
--enable-calendar \
--enable-ftp \
--enable-gd-native-ttf \
--enable-libxml \
--with-libxml-dir=/opt/xml2/ \
--enable-pdo=shared \
--with-pdo-mysql=shared \
--with-pdo-sqlite=shared \
--enable-sockets \
--prefix=/usr/local \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-curl=/opt/curlssl/ \
--with-freetype-dir=/usr \
--with-gd \
--with-imap=/opt/php_with_imap_client/ \
--with-imap-ssl=/usr \
--with-jpeg-dir=/usr \
--with-kerberos \
--with-libdir=lib64 \
--with-mcrypt=/opt/libmcrypt/ \
--with-mysql=/usr \
--with-mysql-sock=/var/lib/mysql/mysql.sock \
--with-openssl=/usr \
--with-openssl-dir=/usr \
--with-pcre-regex=/opt/pcre \
--with-pic \
--with-png-dir=/usr \
--with-xpm-dir=/usr \
--with-zlib \
--with-zlib-dir=/usr \
--enable-soap \

make
make install (which installs everything to /usr/local/bin, despite the set prefix on ./configure).

Что происходит, когда я запускаю следующее:

root ~>># which php
/usr/local/bin/php

root ~>># sudo -u foo which php
/usr/bin/php

Что я делаю не так с —prefix? При последней установке я запустил ./configure —prefix = / opt / php56 / и это тоже не потребовалось.

1

Решение

Проблема заключалась в том, что я не говорил компилятору, где мне нужны мои каталоги. Дело в точке:

./configure \
--prefix=/opt/php56 \
--bindir=/opt/php56/bin \
--libdir=/opt/php56/lib \
--sysconfdir=/opt/php56/etc \
--includedir=/opt/php56/include/php \
--mandir=/opt/php56/php/man \

… остальное было оставлено для краткости.

1

Другие решения

Других решений пока нет …