我需要一个独立的独立系统库版本的PHP才能将其作为包含二进制文件的.zip文件进行分发。以前.zip包含libxml2.so.2,libpng12.so.0,php.ini和php可执行文件。 最近我需要添加一些功能并重新编译PHP。我这样做了:
./configure \
--prefix=/home/user/php/out \
--libdir=. \
--enable-static=YES \
--enable-shared=NO \
--with-pdo_mysql \
--with-gd \
--with-mysql \
--enable-zip \
--enable-zend-multibyte \
--enable-cgi \
--enable-fastcgi \
--with-ldap=shared
make && make install
然后我从/ usr / lib /从out / bin和libmysqlclient.so.16中获取了php。但新的PHP不想拿起图书馆。运行后,我收到以下错误:
./php: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
libmysqlclient.so.16和php在同一目录中。如果我把libmysqlclient.so.16放到/ usr / lib,php工作正常。
在编译过程中是否还有其他任何我忘记的选项?为什么不是“--libdir =”。选项工作?
答案 0 :(得分:2)
首先,指令是--with-libdir
而不是--libdir
。其次,我认为它与/usr
相关,因此将.
放在那里意味着您需要将共享库放入/usr
。
如果您使用共享库完成了任何C编码,则必须了解ld
。处理共享库路径的最简单方法是使用ld
。
您可以设置当前(shell)会话的库路径:
bash-4.1$ export LD_LIBRARY_PATH=/path/to/your/libs
您还可以配置ld
以便始终执行此操作:
bash-4.1$ echo /path/to/your/libs >> /etc/ld.so.conf
bash-4.1$ ldconfig
答案 1 :(得分:0)
也许你可以使用XAMPP并在某个时候保存自己?它预先包装,非常便携。