Author Topic: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init  (Read 24001 times)

0 Members and 1 Guest are viewing this topic.

PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« on: January 31, 2018, 09:45:08 PM »
After server upgrade to PHP7.1 .0 this error pops up

Code: [Select]
[root@server batch]# rpm -qa php\* | sort; rpm -Va php\*; php -m
Quote
php-cli-5.4.16-43.el7_4.x86_64
php-common-5.4.16-43.el7_4.x86_64
php-composer-ca-bundle-1.0.2-1.el7.noarch
php-composer-semver-1.4.2-1.el7.noarch
php-composer-spdx-licenses-1.2.0-1.el7.noarch
php-fedora-autoloader-1.0.0-1.el7.noarch
php-fpm-5.4.16-43.el7_4.x86_64
php-gd-5.4.16-43.el7_4.x86_64
php-intl-5.4.16-43.el7_4.x86_64
php-jsonlint-1.6.1-1.el7.noarch
php-justinrainbow-json-schema5-5.2.6-1.el7.noarch
php-mbstring-5.4.16-43.el7_4.x86_64
php-paragonie-random-compat-1.4.1-1.el7.noarch
php-password-compat-1.0.4-1.el7.noarch
php-pdo-5.4.16-43.el7_4.x86_64
php-process-5.4.16-43.el7_4.x86_64
php-PsrLog-1.0.2-2.el7.noarch
php-seld-cli-prompt-1.0.3-1.el7.noarch
php-seld-phar-utils-1.0.1-1.el7.noarch
php-symfony-browser-kit-2.8.12-2.el7.noarch
php-symfony-class-loader-2.8.12-2.el7.noarch
php-symfony-common-2.8.12-2.el7.noarch
php-symfony-config-2.8.12-2.el7.noarch
php-symfony-console-2.8.12-2.el7.noarch
php-symfony-css-selector-2.8.12-2.el7.noarch
php-symfony-debug-2.8.12-2.el7.noarch
php-symfony-dependency-injection-2.8.12-2.el7.noarch
php-symfony-dom-crawler-2.8.12-2.el7.noarch
php-symfony-event-dispatcher-2.8.12-2.el7.noarch
php-symfony-expression-language-2.8.12-2.el7.noarch
php-symfony-filesystem-2.8.12-2.el7.noarch
php-symfony-finder-2.8.12-2.el7.noarch
php-symfony-http-foundation-2.8.12-2.el7.noarch
php-symfony-http-kernel-2.8.12-2.el7.noarch
php-symfony-polyfill-1.5.0-1.el7.noarch
php-symfony-process-2.8.12-2.el7.noarch
php-symfony-var-dumper-2.8.12-2.el7.noarch
php-symfony-yaml-2.8.12-2.el7.noarch
php-xml-5.4.16-43.el7_4.x86_64
Failed loading /usr/local/zend/5.6/ZendGuardLoader.so:  /usr/local/zend/5.6/ZendGuardLoader.so: undefined symbol: zval_used_for_init
[PHP Modules]
bcmath
bz2
Core
ctype
curl
date
dom
exif
fileinfo
filter
gd
gettext
gmp
hash
iconv
imagick
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
pspell
recode
Reflection
session
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tidy
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib

[Zend Modules]

Re: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« Reply #1 on: January 31, 2018, 10:45:23 PM »
downgraded to PHP7.0.10 and still getting the same error

Re: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« Reply #2 on: January 31, 2018, 11:25:21 PM »
downgraded to PHP5.6.33
Code: [Select]
rpm -qa php\* | sort; rpm -Va php\*; php -mno issue reported

Code: [Select]
rpm -qa php-fpm\* | sort; rpm -Va php-cgi\*; php -mno issue reported

Code: [Select]
rpm -qa php-fpm\* | sort; rpm -Va php-fpm\*; php -mno issue reported

Code: [Select]
[root@server ~]# php-fpm -v
Quote
Failed loading /usr/local/zend/5.6/ZendGuardLoader.so:  /usr/local/zend/5.6/ZendGuardLoader.so: undefined symbol: zval_used_for_init
PHP 7.0.10 (fpm-fcgi)


Re: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« Reply #3 on: February 01, 2018, 12:22:23 AM »
downgraded to PHP5.6.3 through the PHP switcher

Code: [Select]
rpm -qa php\* | sort; rpm -Va php\*; php -m
rpm -qa php-cgi\* | sort; rpm -Va php\*; php -m
rpm -qa php-fpm\* | sort; rpm -Va php\*; php -m
no issues reported

Code: [Select]
php -v
php-cgi -v
no issues reported

Code: [Select]
php-fpm -vFailed loading /usr/local/zend/5.6/ZendGuardLoader.so:  /usr/local/zend/5.6/ZendGuardLoader.so: undefined symbol: zval_used_for_init
PHP 7.0.10 (fpm-fcgi)
« Last Edit: February 01, 2018, 12:46:45 AM by n8v8r »

Re: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« Reply #4 on: February 01, 2018, 12:51:39 AM »
Removed all previously php compiled/installed versions from the php selector and rebuilt A/V/N servers just to get same result as the last.

How to get rid of this ZendGuardLoader.so issue? ???

Re: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« Reply #5 on: February 01, 2018, 01:03:16 PM »
that was brought on by the compiler/installer, so how to roll it back or fix it?

Re: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« Reply #6 on: February 01, 2018, 02:11:45 PM »
http://blog.zend.com/2016/10/10/zend-guard-and-php-7/#.WnMfK0xFzO4
Quote
after much deliberation, we’ve decided not to port Zend Guard to PHP 7 and beyond.

So why oh why then CWP is installing it along PHP7 in the first place? And unnecessarily causing this issue  ???
And not responding of how cleaning it up?

Offline
*****
Re: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« Reply #7 on: February 01, 2018, 02:20:56 PM »
Code: [Select]
rm -rf /usr/local/php/php.d/zend.ini
Code: [Select]
service httpd restart
run this commands and check

Re: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« Reply #8 on: February 01, 2018, 02:28:50 PM »
Thanks, a bit late for me now. As I could not get rid of the thing I meantime deployed a fresh CentOS image and installation of CWP 0.9.8.441.

Could you please state when it is safe again to upgrade the server to PHP7 without running into this issue?

Offline
*****
Re: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« Reply #9 on: February 01, 2018, 02:37:52 PM »
you can upgrade it anytime, and this issue will be resolved on future version for now don't build php 5.5 and 5.6 with zen guard loader untill and unless you really need it.

Re: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« Reply #10 on: February 01, 2018, 02:53:36 PM »
I do not need it all and there is no compiler flag for php5.6
Quote
./configure
--prefix=/opt/alt/php56/usr
--with-zlib
--enable-soap
--enable-exif
--with-config-file-path=/opt/alt/php56/usr/php
--with-config-file-scan-dir=/opt/alt/php56/usr/php/php.d
--enable-phar
--enable-bcmath
--enable-calendar
--with-curl
--with-iconv
--with-mysql
--with-mysqli
--with-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-mcrypt
--with-gettext
--with-xsl
--with-xmlrpc
--with-pdo-mysql=mysqlnd
--enable-posix
--enable-ftp
--with-openssl
--enable-mbstring
--with-jpeg-dir=/usr
--with-freetype-dir=/usr
--with-kerberos
--with-xsl
--with-bz2
--enable-sockets
--enable-zip
--with-gd
--with-imap
--with-imap-ssl
--enable-sockets
--with-pcre-regex
--with-libdir=lib64
--with-mysql-sock=/var/lib/mysql/mysql.sock

It apparently comes preinstalled by CWP. Since I just made the fresh installation and run php -v the output reads
Quote
PHP 5.6.30 (cli) (built: Jan 28 2017 14:24:05)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v6.0.8, Copyright (c) 2002-2016, by ionCube Ltd.

What about ioncube loader, is that necessity/dependency for CWP server/code?

Offline
*****
Re: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« Reply #11 on: February 01, 2018, 03:04:51 PM »
php switcher/selector are intended to work with your scripts only

Re: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« Reply #12 on: February 01, 2018, 03:06:30 PM »
Code: [Select]
rm -rf /usr/local/php/php.d/zend.ini
Code: [Select]
service httpd restart
run this commands and check
Done, now on that fresh installation and checked and the error is gone but the zend engine/module is still present and might be automatically recompiled
Code: [Select]
[root@server src]# php -v
Quote
PHP 5.6.30 (cli) (built: Jan 28 2017 14:24:05)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v6.0.8, Copyright (c) 2002-2016, by ionCube Ltd.
Code: [Select]
[root@server src]# rpm -qa php\* | sort; rpm -Va php\*; php -m
Quote
php-cli-5.4.16-43.el7_4.x86_64
php-common-5.4.16-43.el7_4.x86_64
php-composer-ca-bundle-1.0.2-1.el7.noarch
php-composer-semver-1.4.2-1.el7.noarch
php-composer-spdx-licenses-1.2.0-1.el7.noarch
php-fedora-autoloader-1.0.0-1.el7.noarch
php-fpm-5.4.16-43.el7_4.x86_64
php-gd-5.4.16-43.el7_4.x86_64
php-intl-5.4.16-43.el7_4.x86_64
php-jsonlint-1.6.1-1.el7.noarch
php-justinrainbow-json-schema5-5.2.6-1.el7.noarch
php-mbstring-5.4.16-43.el7_4.x86_64
php-paragonie-random-compat-1.4.1-1.el7.noarch
php-password-compat-1.0.4-1.el7.noarch
php-pdo-5.4.16-43.el7_4.x86_64
php-process-5.4.16-43.el7_4.x86_64
php-PsrLog-1.0.2-2.el7.noarch
php-seld-cli-prompt-1.0.3-1.el7.noarch
php-seld-phar-utils-1.0.1-1.el7.noarch
php-symfony-browser-kit-2.8.12-2.el7.noarch
php-symfony-class-loader-2.8.12-2.el7.noarch
php-symfony-common-2.8.12-2.el7.noarch
php-symfony-config-2.8.12-2.el7.noarch
php-symfony-console-2.8.12-2.el7.noarch
php-symfony-css-selector-2.8.12-2.el7.noarch
php-symfony-debug-2.8.12-2.el7.noarch
php-symfony-dependency-injection-2.8.12-2.el7.noarch
php-symfony-dom-crawler-2.8.12-2.el7.noarch
php-symfony-event-dispatcher-2.8.12-2.el7.noarch
php-symfony-expression-language-2.8.12-2.el7.noarch
php-symfony-filesystem-2.8.12-2.el7.noarch
php-symfony-finder-2.8.12-2.el7.noarch
php-symfony-http-foundation-2.8.12-2.el7.noarch
php-symfony-http-kernel-2.8.12-2.el7.noarch
php-symfony-polyfill-1.5.0-1.el7.noarch
php-symfony-process-2.8.12-2.el7.noarch
php-symfony-var-dumper-2.8.12-2.el7.noarch
php-symfony-yaml-2.8.12-2.el7.noarch
php-xml-5.4.16-43.el7_4.x86_64
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
imap
ionCube Loader
json
libxml
mbstring
mcrypt
mysql
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
soap
sockets
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib

[Zend Modules]
the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured)

Offline
*****
Re: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« Reply #13 on: February 01, 2018, 03:08:44 PM »
downgraded to PHP5.6.3 through the PHP switcher

Code: [Select]
rpm -qa php\* | sort; rpm -Va php\*; php -m
rpm -qa php-cgi\* | sort; rpm -Va php\*; php -m
rpm -qa php-fpm\* | sort; rpm -Va php\*; php -m
no issues reported

Code: [Select]
php -v
php-cgi -v
no issues reported

Code: [Select]
php-fpm -vFailed loading /usr/local/zend/5.6/ZendGuardLoader.so:  /usr/local/zend/5.6/ZendGuardLoader.so: undefined symbol: zval_used_for_init
PHP 7.0.10 (fpm-fcgi)

The issue is fixed by the developer
thanks for reporting

Re: PHP7.1 ZendGuardLoader.so: undefined symbol: zval_used_for_init
« Reply #14 on: February 01, 2018, 03:09:08 PM »
php switcher/selector are intended to work with your scripts only
Sure, but I am not scripting the Zend engine/module into it, it comes preinstalled by CWP and what I can do about that?