1

我正在尝试构建和使用带有 memcache 2.2.6 PECL 扩展的 PHP 5.5.3。我在 SUSE Linux 上从源代码构建。他们制作和安装都很好,但扩展无法加载:

$ ./php -n -z path/to/memcache.so 
Failed loading path/to/memcache.so:  path/to/memcache.so: undefined symbol: php_session_create_id
$ readelf -s path/to//memcache.so | grep php_session_create_id
    19: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND php_session_create_id
   111: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND php_session_create_id

一些简短的背景。我对 PHP 8.2 和 memcache 1.5 做了同样的事情,它运行良好,但我想升级到两者的更新版本。

PHP 构建:

./configure --prefix="<php_location>"
        --with-apxs2="<path/to/apxs2>"
        --with-libxml-dir="<path/to/libxml2>"
        --with-xsl="<path/to/libxslt>"
        --with-zlib="<path/to/zlib>"
        --with-ncurses="<path/to/ncurses>"
        --with-ldap=shared,"<path/to/ldap>"
        --with-openssl=shared,"<path/to/openssl>"
        --with-curl=shared,"<path/to/curl>"
        --with-pgsql=shared,"<path/to/postgresql>"

        --with-config-file-path="<path/to/php.ini>"
        --with-layout=GNU
        --with-regex=php
        --with-tsrm-pthreads

        --disable-cgi
        --disable-rpath
        --disable-sysvsem
        --disable-sysvshm
        --disable-sysvmsg
        --disable-bcmath
        --disable-ctype
        --disable-exif
        --disable-spl
        --disable-ftp
        --disable-shmop
        --enable-tokenizer
        --enable-static

        --enable-memory-limit
        --enable-posix=shared
        --enable-session=shared
        --enable-sockets=shared
        --enable-xml=shared
        --enable-pcntl=shared
        --enable-soap
        --enable-dom

        --without-mm
        --without-gettext
        --without-iconv
        --without-sqlite
        --without-mime-magic
        --without-mysql
        --without-sybase-ct
        --without-gdbm
        --without-db4
        --without-cdb
        --without-inifile
        --without-flatfile
        --without-pear

        --disable-debug
        --with-pcre-dir="<path/to/pcre>"
        --with-pcre-regex


make
make install

内存缓存构建:

./configure --enable-memcache
            --with-zlib-dir="<path/to/zlib>"
            --with-php-config="<path/to/php-config>"    # The one I just built

make
make install
4

0 回答 0