Open Supposer opened 3 years ago
我现在还没找到办法 php runtime已经出错了。
- free(): invalid pointer
- 暂时定位intl扩展的冲突问题. php -m |grep intl 建议重新编译php 取消intl扩展
已经取消了 intl 扩展,但还是出现这个问题,编译参数如下:
metanoia1989@DESKTOP-JMBJPR7 /w/s/p/74> php -i |grep configure
Configure Command => './configure' '--prefix=/www/server/php/74' '--with-config-file-path=/www/server/php/74/etc' '--enable-fpm' '--with-fpm-user=www' '--with-fpm-group=www' '--enable-mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-iconv-dir' '--with-freetype' '--with-jpeg' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml' '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--with-curl' '--enable-mbregex' '--enable-mbstring' '--enable-ftp' '--enable-gd' '--with-openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-soap' '--with-gettext' '--disable-fileinfo' '--enable-opcache' '--with-sodium=/usr/local/libsodium' '--with-webp'
- free(): invalid pointer
- 暂时定位intl扩展的冲突问题. php -m |grep intl 建议重新编译php 取消intl扩展
已经取消了 intl 扩展,但还是出现这个问题,编译参数如下:
metanoia1989@DESKTOP-JMBJPR7 /w/s/p/74> php -i |grep configure Configure Command => './configure' '--prefix=/www/server/php/74' '--with-config-file-path=/www/server/php/74/etc' '--enable-fpm' '--with-fpm-user=www' '--with-fpm-group=www' '--enable-mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-iconv-dir' '--with-freetype' '--with-jpeg' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml' '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--with-curl' '--enable-mbregex' '--enable-mbstring' '--enable-ftp' '--enable-gd' '--with-openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-soap' '--with-gettext' '--disable-fileinfo' '--enable-opcache' '--with-sodium=/usr/local/libsodium' '--with-webp'
这是我的编译参数 ./configure --prefix=${php_setup_path} --with-config-file-path=${php_setup_path}/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype --with-jpeg --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-pcntl --enable-ftp --enable-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-sodium=/usr/local/libsodium --with-webp ${i_make_args}
可以了,禁用 intl 扩展要加参数 --disable-intl
,完整编译参数如下:
$ php -i |grep configure Configure Command => './configure' '--prefix=/www/server/php/74' '--with-config-file-path=/www/server/php/74/etc' '--enable-fpm' '--with-fpm-user=www' '--with-fpm-group=www' '--enable-mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-iconv-dir' '--with-freetype' '--with-jpeg' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml' '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--disable-intl' '--enable-sysvsem' '--enable-inline-optimization' '--with-curl' '--enable-mbregex' '--enable-mbstring' '--enable-ftp' '--enable-gd' '--with-openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-soap' '--with-gettext' '--disable-fileinfo' '--enable-opcache' '--with-sodium=/usr/local/libsodium' '--with-webp'
请问怎么禁用intl扩展?
重新编译后 --disable-intl ,禁用了该扩展依然提示错误
ubuntu20 php-8.0.9,还是有这个错误: Configure Command => './configure' '--prefix=/usr/local/php-8.0.9/' '--with-config-file-path=/usr/local/php-8.0.9/etc' '--with-config-file-scan-dir=/usr/local/php-8.0.9/etc/conf.d' '--disable-intl'
php -m 检查下是否有intl
php -m 检查下是否有intl
@pangdahua ubuntu 20.04.2 LTS 系统下,php74, 编译的时候已经禁用了 intl , 使用 php -m 也没有intl , 依然报错,麻烦查看具体原因
以下是编译参数 Configure Command => './configure' '--prefix=/www/server/php/74' '--with-config-file-path=/www/server/php/74/etc' '--disable-intl' '--enable-fpm' '--with-fpm-user=www' '--with-fpm-group=www' '--enable-mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-iconv-dir' '--with-freetype' '--with-jpeg' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml' '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--with-curl' '--enable-mbregex' '--enable-mbstring' '--enable-ftp' '--enable-gd' '--with-openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-soap' '--with-gettext' '--disable-fileinfo' '--enable-opcache' '--with-sodium=/usr/local/libsodium' '--with-webp'
php -m 之后列表为: [PHP Modules] bcmath Core ctype curl date dom fileinfo filter ftp gd gettext hash iconv json libxml mbstring mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql pdo_sqlite Phar posix redis Reflection session shmop SimpleXML soap sockets sodium SPL sqlite3 standard swoole sysvsem tokenizer xml xmlreader xmlrpc xmlwriter zip zlib
[Zend Modules]
@phillome +下我的麻花藤号 5687046 。
因为项目需要用到intl扩展,怎么办?
@c4ys 没找到解决方案。 建议拆下服务
php -m 检查下是否有intl
@pangdahua ubuntu 20.04.2 LTS 系统下,php74, 编译的时候已经禁用了 intl , 使用 php -m 也没有intl , 依然报错,麻烦查看具体原因
以下是编译参数 Configure Command => './configure' '--prefix=/www/server/php/74' '--with-config-file-path=/www/server/php/74/etc' '--disable-intl' '--enable-fpm' '--with-fpm-user=www' '--with-fpm-group=www' '--enable-mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-iconv-dir' '--with-freetype' '--with-jpeg' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml' '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--with-curl' '--enable-mbregex' '--enable-mbstring' '--enable-ftp' '--enable-gd' '--with-openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-soap' '--with-gettext' '--disable-fileinfo' '--enable-opcache' '--with-sodium=/usr/local/libsodium' '--with-webp'
php -m 之后列表为: [PHP Modules] bcmath Core ctype curl date dom fileinfo filter ftp gd gettext hash iconv json libxml mbstring mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql pdo_sqlite Phar posix redis Reflection session shmop SimpleXML soap sockets sodium SPL sqlite3 standard swoole sysvsem tokenizer xml xmlreader xmlrpc xmlwriter zip zlib
[Zend Modules]
我禁用了intl后,也出现了同样的问题,后来偶然间更换了swoole跟wxwork_finance_sdk的加载顺序,swoole放到最后面,php启动就正常了。
@tisswb 👍, 我把你的方案写到【已知问题】解决方案里
重新编译后 --disable-intl ,禁用了该扩展依然提示错误
我用的是ubuntu22.04, php7.1 发现gd库也冲突,装了就会报错,但是如果gd比wxwork_finance_sdk后载入就不会报错。嗯,神奇。