2016-11-29 8 views
3

私はphp5.6とsymfony2 respからphp7とsymfony3にアップグレードするつもりです。私は、サードパーティのapisを要求するために石鹸を使用するいくつかのsymfonyコンソールコマンドを持っています。セグメンテーションフォルトphp7 symfony cliコマンド(石鹸を使用)

php7とphp7.0-soapにアップグレードした後、コマンドはセグメンテーションフォルトで失敗します。私はgdbでデバッグしようとしましたが、以下はトレースです。これはphp7.0-soapの問題ですか?解決策は何ですか?

Program received signal SIGSEGV, Segmentation fault. 
0x00005555557bc4db in zend_hash_destroy() 
(gdb) bt 
#0 0x00005555557bc4db in zend_hash_destroy() 
#1 0x00007fffecbbe141 in delete_type_persistent() from /usr/lib/php/20151012/soap.so 
#2 0x00005555557bc5dd in zend_hash_destroy() 
#3 0x00007fffecbc55f1 in ??() from /usr/lib/php/20151012/soap.so 
#4 0x00007fffecbc565f in ??() from /usr/lib/php/20151012/soap.so 
#5 0x00005555557bc4d2 in zend_hash_destroy() 
#6 0x00007fffecb95f0b in zm_shutdown_soap() from /usr/lib/php/20151012/soap.so 
#7 0x00005555557b25f3 in module_destructor() 
#8 0x00005555557ab08c in ??() 
#9 0x00005555557bd048 in zend_hash_graceful_reverse_destroy() 
#10 0x00005555557ac055 in zend_shutdown() 
#11 0x000055555574fb3b in php_module_shutdown() 
#12 0x000055555563d796 in main() 
+0

私は同様のワンセグ障害を取得しています: 'プログラムは、信号SIGSEGV、SEGMを受け侵害の欠陥。 /etc/httpd/modules/libphp-7.0.soからzend_hash_destroy() で0x00007f85375094bb(GDB)バックトレース ##1 /etc/httpd/modules/libphp-7.0.soからzend_hash_destroy() 0 0x00007f85375094bb 0x00007f852e356a3e? ()zend_hash_destroyで /usr/lib64/php/7.0/modules/soap.so#2 0x00007f85375095bd() からの/ etc /のhttpd /モジュール/ libphp-7.0.so' (およびそれ以上)から 私もこれが見つかりました:https://bugs.php.net/bug.php?id=71931 – Ben

答えて

3

あなたは当面PHP7にWSDL_CACHE_MEMORY(またはWSDL_CACHE_BOTH)を使用することはできません。https://bugs.php.net/bug.php?id=71931

php.inisoap.wsdl_cacheを設定することで、代わりに使用WSDL_CACHE_DISK、または - あなたはphp.iniへのアクセス権を持っていない場合 - ini_setを使用して:

ini_set('soap.wsdl_cache', WSDL_CACHE_DISK);