从 12.04 下的源代码编译 php 5.2,apxs2(通过 libtools)忽略了 ./configure 使用的 -prefix

从 12.04 下的源代码编译 php 5.2,apxs2(通过 libtools)忽略了 ./configure 使用的 -prefix

在源目录中:

./configure --prefix=/home/ashkan/Development/php/bin/php-5.2  --with-mysql --with-apxs2=/usr/bin/apxs2

make工作正常,但make install显示:

Installing PHP SAPI module:       apache2handler
/usr/share/apache2/build/instdso.sh SH_LIBTOOL='/usr/share/apr-1.0/build/libtool' libphp5.la /usr/lib/apache2/modules
/usr/share/apr-1.0/build/libtool --mode=install cp libphp5.la /usr/lib/apache2/modules/
libtool: install: cp .libs/libphp5.so /usr/lib/apache2/modules/libphp5.so
cp: cannot create regular file `/usr/lib/apache2/modules/libphp5.so': Permission denied
apxs:Error: Command failed with rc=65536

更新:读起来man apxs2似乎 apxs 编译并将模块安装到apache module directory。这个模块目录似乎已经修复了!

答案1

基于这篇博客文章,如果您指定INSTALL_ROOTPHP,apache 模块将尝试安装在该目录中。

INSTALL_ROOT=/the/dir/path/to/install/in make install     

您可能想要尝试将此选项添加到./configurephp-src 中:

--libexecdir=DIR        program executables [EPREFIX/libexec]
--sysconfdir=DIR        read-only single-machine data [PREFIX/etc]

因为我相信这些正在 Makefile 中使用

答案2

无权复制二进制文件至/usr。请执行sudo make install

相关内容