The Zend Engine API version 220060519 which is installed, is outdated.

ozgurerdogan

Verified User
Joined
Apr 20, 2008
Messages
352
I had upgrade php to 5.4 from 5.2.7 and all sites had lots of errors. So I revert back to 5.2.7 and all are fine now. But I see this in logs :

Zend Guard Loader requires Zend Engine API version 220090626.
The Zend Engine API version 220060519 which is installed, is outdated.


How can I fix this?

Thanks
 
I tried that already :

[root@lxn1 custombuild]# cd /usr/local/directadmin/custombuild
[root@lxn1 custombuild]# ./build zend
File already exists: ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
Zend Guard Loader requires Zend Engine API version 220090626.
The Zend Engine API version 220060519 which is installed, is outdated.

Zend Guard Loader requires Zend Engine API version 220090626.
The Zend Engine API version 220060519 which is installed, is outdated.

Zend Optimizer has been installed.


But still same...
 
You should remove Zend Guard Loader lines from php.ini file.
 
Which php.ini ?
Apache configuration file: /usr/local/directadmin/custombuild/configure/ap2/configure.apache
suPHP configuration file: /usr/local/directadmin/custombuild/custom/suphp/configure.suphp
PHP5 configuration file: /usr/local/directadmin/custombuild/configure/suphp/configure.php5
ProFTPD configuration file: /usr/local/directadmin/custombuild/configure/proftpd/configure.proftpd
 
Thank you guys. But not sure what lines to remove. I see: (sorry for long post)

Code:
[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3
zend_optimizer.version=3.3.3
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.2.so


zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

and also this:
Code:
zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20020429/eaccelerator.so"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"

and these:
Code:
# Add the following:# Add the following:
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.2.sozend_extension = 
/usr/local/ioncube/ioncube_loader_lin_5.2.so;;;;;;;;;;;;;;;;;;; ; About php.ini ; ;;;;;;;;;;;;;;;;;;; ; This file controls many 
aspects of PHP's behavior.  In order for PHP to ; read it, it must be named 'php.ini'.  PHP looks for it in the current ; working 
directory, in the path designated by the environment variable ; PHPRC, and in the path that was defined in compile time (in that 
order). ; Under Windows, the compile-time path is the Windows directory.  The ; path in which the php.ini file is looked for can be 
overridden using ; the -c argument in command line mode. ; ; The syntax of the file is extremely simple.  Whitespace and Lines ; 
beginning with a semicolon are silently ignored (as you probably guessed). ; Section headers (e.g. [Foo]) are also silently 
ignored, even though ; they might mean something in the future. ; ; Directives are specified using the following syntax: ; 
directive = value ; Directive names are *case sensitive* - foo=bar is different from FOO=bar. ; ; The value can be a string, a 
number, a PHP constant (e.g. E_ALL or M_PI), one ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression ; 
(e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo"). ; ; Expressions in the INI file are limited to bitwise operators and 
parentheses: ; | bitwise OR ; & bitwise AND ; ~ bitwise NOT ; !  boolean NOT ; ; Boolean flags can be turned on using the values 1, 
On, True or Yes. ; They can be turned off using the values 0, Off, False or No. ; ; An empty string can be denoted by simply not 
writing anything after the equal ; sign, or by using the None keyword: ; ; foo = ; sets foo to an empty string ; foo = none ; sets 
foo to an empty string ; foo = "none" ; sets foo to the string 'none' ; ; If you use constants in your value, and these constants 
belong to a ; dynamically loaded extension (either a PHP extension or a Zend extension), ; you may only use these constants *after* 
the line that loads the extension. ; ; ;;;;;;;;;;;;;;;;;;; ; About this file ; ;;;;;;;;;;;;;;;;;;; ; This is the recommended, PHP 
5-style version of the php.ini-dist file.  It ; sets some non standard settings, that make PHP more efficient, more secure, ; and 
encourage cleaner coding. ; ; The price is that with these settings, PHP may be incompatible with some ; applications, and 
sometimes, more difficult to develop with.  Using this ; file is warmly recommended for production sites.  As all of the changes 
from ; the standard settings are thoroughly documented, you can go over each one, ; and decide whether you want to use it or not. ; 
; For general information about the php.ini file, please consult the php.ini-dist ; file, included in your PHP distribution. ; ; 
This file is different from the php.ini-dist file in the fact that it features ; different values for several directives, in order 
to improve performance, while ; possibly breaking compatibility with the standard out-of-the-box behavior of ; PHP.  Please make 
sure you read what's different, and modify your scripts ; accordingly, if you decide to use this file instead. ; ; - 
register_long_arrays = Off [Performance] ; Disables registration of the older (and deprecated) long predefined array ; variables 
($HTTP_*_VARS).  Instead, use the superglobals that were ; introduced in PHP 4.1.0 ; - display_errors = Off [Security] ; With this 
directive set to off, errors that occur during the execution of ; scripts will no longer be displayed as a part of the script 
output, and thus, ; will no longer be exposed to remote users.  With some errors, the error message ; content may expose 
information about your script, web server, or database ; server that may be exploitable for hacking.  Production sites should have 
this ; directive set to off. ; - log_errors = On [Security] ; This directive complements the above one.  Any errors that occur 
during the ; execution of your script will be logged (typically, to your server's error log, ; but can be configured in several 
ways).  Along with setting display_errors to off, ; this setup gives you the ability to fully understand what may have gone wrong, 
; without exposing any sensitive information to remote users. ; - output_buffering = 4096 [Performance] ; Set a 4KB output buffer.  
Enabling output buffering typically results in less ; writes, and sometimes less packets sent on the wire, which can often lead to 
; better performance.  The gain this directive actually yields greatly depends ; on which Web server you're working with, and what 
kind of scripts you're using. ; - register_argc_argv = Off [Performance] ; Disables registration of the somewhat redundant $argv 
and $argc global ; variables. ; - magic_quotes_gpc = Off [Performance] ; Input data is no longer escaped with slashes so that it 
can be sent into ; SQL databases without further manipulation.  Instead, you should use the ; database vendor specific escape 
string function on each input element you ; wish to send to a database. ; - variables_order = "GPCS" [Performance] ; The 
environment variables are not hashed into the $_ENV.  To access ; environment variables, you can use getenv() instead. ; - 
error_reporting = E_ALL [Code Cleanliness, Security(?)] ; By default, PHP suppresses errors of type E_NOTICE.  These error messages 
; are emitted for non-critical errors, but that could be a symptom of a bigger ; problem.  Most notably, this will cause error 
messages about the use ; of uninitialized variables to be displayed. ; - allow_call_time_pass_reference = Off [Code cleanliness] ; 
It's not possible to decide to force a variable to be passed by reference ; when calling a function.  The PHP 4 style to do this is 
by making the ; function require the relevant argument by reference. ; - short_open_tag = Off [Portability] ; Using short tags is 
discouraged when developing code meant for redistribution ; since short tags may not be supported on the target server.
 
Hello,

Remove all of the zend_extension* and zend_optimizer* lines.
Once it's all cleared out, then re-install them.

If unsure, install a fresh php.ini.
A fresh copy can be found in the php-x.x.x.tar.gz file as php.ini-dist or php.ini-production, etc..

Or.. just delete all of your php.ini files and recompile php.
This will add any php.ini files if they're missing.

Once a fresh php.ini is present, then re-install zend and/or ioncube as needed.

John
 
Thanks for this post - just wanted to say that it also helped me to when I upgraded from PHP 5.2 to PHP 5.3!
 
I have:

[root@lnx ~]# /usr/local/bin/php --ini | grep 'Loaded Configuration File'
Zend OPcache requires Zend Engine API version 220121212.
The Zend Engine API version 220131226 which is installed, is newer.
Contact Zend Technologies at http://www.zend.com/ for a later version of Zend OPcache.

PHP Warning: PHP Startup: uploadprogress: Unable to initialize module
Module compiled with module API=20121212
PHP compiled with module API=20131226
These options need to match
in Unknown on line 0
Loaded Configuration File: /usr/local/lib/php.ini
[root@lnx ~]# ll /usr/local/lib/php
php/ php.conf.d/ php.ini php.ini.bak_1_08_2013
[root@lnx ~]# ll /usr/local/lib/php
php/ php.conf.d/ php.ini php.ini.bak_1_08_2013
[root@lnx ~]# ll /usr/local/lib/php.conf.d/
total 16
-rw-r--r--. 1 root root 134 Feb 8 13:11 10-directadmin.ini
-rw-r--r-- 1 root root 304 Jan 15 03:50 50-webapps.ini
-rw-r--r-- 1 root root 90 Aug 2 2013 opcache.ini
-rw-r--r-- 1 root root 85 Aug 2 2013 uploadprogress.ini

And in /usr/local/lib/php.ini no Zend Guard Loader lines but :

Code:
; Enables or disables the circular reference collector.
; [url]http://php.net/zend.enable-gc[/url]
zend.enable_gc = On

[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1

; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=0
;era opcache.enable_cli=1 modificato da PP il 13-04-2015

; The OPcache shared memory storage size.
opcache.memory_consumption=512

; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=8

; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 100000 are allowed.
opcache.max_accelerated_files=8000

; The maximum percentage of "wasted" memory until a restart is scheduled.
;opcache.max_wasted_percentage=5

; When this directive is enabled, the OPcache appends the current working
; directory to the script key, thus eliminating possible collisions between
; files with the same name (basename). Disabling the directive improves
; performance, but may break existing applications.
opcache.use_cwd=1

; When disabled, you must reset the OPcache manually or restart the
; webserver for changes to the filesystem to take effect.
opcache.validate_timestamps=1

; How often (in seconds) to check file timestamps for changes to the shared
; memory storage allocation. ("1" means validate once per second, but only
; once per request. "0" means always validate)
opcache.revalidate_freq=60

; Enables or disables file search in include_path optimization
;opcache.revalidate_path=0

; If disabled, all PHPDoc comments are dropped from the code to reduce the
 ;size of the optimized code.
;opcache.save_comments=1

; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments"
; may be always stored (save_comments=1), but not loaded by applications
; that don't need them anyway.
;opcache.load_comments=1

; If enabled, a fast shutdown sequence is used for the accelerated code
opcache.fast_shutdown=1

; Allow file existence override (file_exists, etc.) performance feature.
;opcache.enable_file_override=0

; A bitmask, where each bit enables or disables the appropriate OPcache
; passes
;opcache.optimization_level=0xffffffff

;opcache.inherited_hack=1
;opcache.dups_fix=0

; The location of the OPcache blacklist file (wildcards allowed).
; Each OPcache blacklist file is a text file that holds the names of files
; that should not be accelerated. The file format is to add each filename
; to a new line. The filename may be a full path or just a file prefix
; (i.e., /var/www/x  blacklists all the files and directories in /var/www
; that start with 'x'). Line starting with a ; are ignored (comments).
;opcache.blacklist_filename=

; Allows exclusion of large files from being cached. By default all files
; are cached.
;opcache.max_file_size=0

; Check the cache checksum each N requests.
; The default value of "0" means that the checks are disabled.
;opcache.consistency_checks=0

; How long to wait (in seconds) for a scheduled restart to begin if the cache
; is not being accessed.
;opcache.force_restart_timeout=180

; OPcache error_log file name. Empty string assumes "stderr".
opcache.error_log=/var/log/zend_cache.log

; All OPcache errors go to the Web server log.
; By default, only fatal errors (level 0) or errors (level 1) are logged.
; You can also enable warnings (level 2), info messages (level 3) or
; debug messages (level 4).
;opcache.log_verbosity_level=1

; Preferred Shared Memory back-end. Leave empty and let the system decide.
;opcache.preferred_memory_model=

; Protect the shared memory from unexpected writing during script execution.
; Useful for internal debugging only.
;opcache.protect_memory=0
 
Last edited:
Back
Top