Adrian World Design
  • Services
    • Website Consulting
    • Startup Consulting
    • Zend Development
  • Portfolio
    • My Framework
  • Knowledge
    • Web Standards
    • PHP bare-bones
    • Zend Framework
    • Zend Framework 2
    • Git - Github
    • Search Engine Optimization
    • Web Hosting
    • Linux
    • Microsoft Windows
    • Web Browsers
    • Mobile Devices
  • About
    • Business
    • Professionally
    • Personally
  • Contact
    • Contact Form
    • Phone
    • Email
    • Messaging

Knowledge Base Overview

Zend Guard loading problems

Knowledge ⇒ Web Hosting ⇒ Zend Guard ⇒ Zend Guard loading problems
Tweet
Share on Tumblr

Created: Feb 4, 2012, 1:10:20 PM CDTLast updated: Feb 4, 2012, 1:29:47 PM CDT

I assume you have searched in Google, Bing, Yahoo or other search engine because you see this Zend Guard run-time support is missing titled webpage on your website and I hope you will find some help here.

Besides this webpages I have more pages about this problem so look out for them in this chapter; use the breadcrumbs list above or the Prev/Next links at the end of the document. This page is just to see and test if the Zend Guard Loader has been found and loaded properly.

Note: Because I don't have a system with PHP <5.3 running I cannot see or test what that will look like but I guess the results will be somewhat similar. Most important, though, if you still use 5.2 or lower you will need the Zend Optimizer and not the Zend Guard Loader.

Simple loading problems

Now lets look at the two simple loading problems; well, actually three.

32-bit versus 64-bit module

First lets see what you get when you use the wrong version, i.e. the 32-bit instead of the 64-bit on a host system. Unfortunately the two libraries use the exact same name; hence it can be an easy mistake to use the wrong module file.

If you have a Linux system and restart your httpd daemon you won't see a thing on the command line but you can see the problem in two places. One place is the /var/log/httpd/error_log where you should see this line

Failed loading /usr/lib64/httpd/modules/ZendGuardLoader.so:
   /usr/lib64/httpd/modules/ZendGuardLoader.so: wrong ELF class: ELFCLASS32

I don't have a Windows system but assume you might see a similar message for this in the application's Event Log somewhere when you restart IIS. For Apache (incl. WAMP, XAMPP et al) you should have a log directory in the /apache folder and find an error.log file in it.

The other place is with php and the php command line interface. This works the same on Windows but you might need to go to the directory where your PHP executable is. It depends on your setup, i.e. path information, though.

[root@centos ~]# php -v
Failed loading /usr/lib64/httpd/modules/ZendGuardLoader.so: /usr/lib64/httpd/modules/ZendGuardLoader.so: wrong ELF class: ELFCLASS32
PHP 5.3.3 (cli) (built: Jan 11 2012 19:53:01)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Now if you get this Failed loading message in either place this is easy to fix. You have the wrong module version and you simply copy/replace the proper version file.

Wrong place or type

The second case is actually two separate loading causes but the result is equal. If you have the wrong path information in the config (or the file in the wrong place) or misspelled you will see the following error:

// in the httpd/error_log
Failed loading /usr/lib64/httpd/modules/ZendguardLoader.so:
   /usr/lib64/httpd/modules/ZendguardLoader.so: cannot open shared object file: No such file or directory
// and with php
[root@centos ~]# php -v
Failed loading /usr/lib64/httpd/modules/ZendguardLoader.so: /usr/lib64/httpd/modules/ZendguardLoader.so: cannot open shared object file: No such file or directory
PHP 5.3.3 (cli) (built: Jan 11 2012 19:53:01)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

As you can see all it takes on Linux is a lower-case typo in the configuration where I wrote ZendguardLoader instead of ZendGuardLoader. The file in this case could not be found by the OS. I don't have to tell you how to fix this, I reckon.

The good news in this second case is that your configuration is working. If you don't see an error message or a Zend Guard Loader message with PHP but you are sure you have a module file then your configuration is not working. In this case see the other document How to test if ZendGuardLoacer.so is installed.

If this solved your problem, great! If not then look out for the other documents in this chapter.

blog comments powered by Disqus
Prev
Next

Powered by FeedBurner Load our "Knowledge Base" feed in your RSS feeder

Follow us on Twitter
Follow us on Facebook
Follow us on LinkedIn
Follow us on Google+

All rights reserved, Adrian World Design ©2009–2022 Powered by Wejas Framework

Jump to Top