在源目录中:
./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_ROOT
PHP,apache 模块将尝试安装在该目录中。
INSTALL_ROOT=/the/dir/path/to/install/in make install
您可能想要尝试将此选项添加到./configure
php-src 中:
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
因为我相信这些正在 Makefile 中使用
答案2
无权复制二进制文件至/usr
。请执行sudo make install
。