Ngoài ra, bạn có thể thực hiện một cài đặt của libxml trong thư mục chính của bạn và vượt qua cấu hình vị trí mà bạn đã cài đặt nó, tức là
--with-libxml-dir=<your local install>
Khi cài đặt libxml, bạn chỉ cần sử dụng tùy chọn --prefix=
với cấu hình để cho biết rằng bạn không muốn cài đặt hệ thống.
Giả sử bạn biên soạn client cli (và rằng con đường tìm kiếm lib cho người sử dụng hiện tại và người dùng apache đều giống nhau), bạn kiểm tra xem các lib đúng được liên kết với:
# ldd /usr/bin/php
linux-vdso.so.1 => (0x00007ffff71ff000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000030f3c00000)
libedit.so.0 => /usr/lib64/libedit.so.0 (0x00000030e8000000)
libncurses.so.5 => /lib64/libncurses.so.5 (0x00000030f7400000)
libgmp.so.3 => /usr/lib64/libgmp.so.3 (0x00000030e7800000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00000030f7800000)
libz.so.1 => /lib64/libz.so.1 (0x00000030e6c00000)
libpcre.so.0 => /lib64/libpcre.so.0 (0x00000030f9400000)
librt.so.1 => /lib64/librt.so.1 (0x00000030e7000000)
libm.so.6 => /lib64/libm.so.6 (0x00000030e5c00000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000030e6400000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00000030f6800000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00000030f2400000))
libssl.so.10 => /usr/lib64/libssl.so.10 (0x00000030f3000000)
libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00000030eb400000)
libc.so.6 => /lib64/libc.so.6 (0x00000030e6000000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00000030e7c00000)
libfreebl3.so => /lib64/libfreebl3.so (0x00000030f3800000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00000030f7c00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00000030e6800000)
/lib64/ld-linux-x86-64.so.2 (0x00000030e5800000)
libxml là được liệt kê một nửa chiều xuống danh sách thư viện.
Nguồn
2009-03-04 15:29:56
Đây có lẽ là gợi ý tốt nhất được đăng cho đến thời điểm này. – acrosman
Sự cố sau đó sẽ đảm bảo rằng nó tải libxml2 riêng thay vì thư viện hệ thống khi khởi động PHP. –
@Ignacio Tôi đã thêm một bước bổ sung để thử kiểm tra điều này. –