PHP Does Not Load Under Apache, Error: "undefined symbol: unixd_config"

Follow

Applies to:
Zend Server
Linux with Apache 2.4

Problem

After installing Zend Server on Linux with Apache 2.4, PHP doesn't load with an error:

httpd: Syntax error on line 353 of /etc/httpd/conf/httpd.conf: Syntax error on line 3 of /etc/httpd/conf.d/zendserver_php.conf: Cannot load /usr/local/zend/lib/apache2/libphp5.so into server: /usr/local/zend/lib/apache2/libphp5.so: undefined symbol: unixd_config

Overview

When using a single repo point for multiple Linux versions, you might install PHP built for Apache 2.2 on Apache 2.4 environment, or vice versa.
The PHP loading error above appears when installing PHP from the non-Apache 2.4 repo on Apache 2.4.

In General, Zend repos have multiple points, or symlinks, to collect packages around specific tasks, in this case, Apache 2.2 and 2.4 different builds.

Using Linux Installer:
Zend Server installer, which can be downloaded from Zend Server product page, is capable of automatically identifying the correct repo and install compatible PHP for your supported Linux platform.

 

Mirroring Zend Repos:
When you mirror a Zend repo point for your DEB / RPM install, keep details or directory name matching the Zend repo URL, which will help later in determining if the correct repo is to be used with a fresh installation.

 

Mirroring Tip:
The Linux installer uses Zend repos as reference. If you happen to mirror Zend repos within your organization storage, you can manually edit the repo file used by the Linux installer to match your mirrored repo, and still use the Linux installer instead of manual install.

Solution

This recipe can help you migrate to a working setup of Zend Server, or if you are provisioning a new system, skip the 3 steps to remove and just modify your repo and install fresh server instance.

  1. Remove Zend Server with the uninstall.sh script in /usr/local/zend/bin, or by using package remove command from the online reference.
  2. Remove the incorrect repos and update your package manager data.
  3. Purging package cache / Zend packages is recommended at this stage.
  4. Load correct repo from http://repos.zend.com, or use the Zend Server installer from the downloads page. Alternatively, mirror the correct repos if you need to. Check the online ref regarding RPM/DEB installation:
    http://files.zend.com/help/Zend-Server/zend-server.htm#installation_guide.htm%3FTocPath%3DZend%2520Server%2520Installation%2520Guide|_____0
  5. Install again - you should be free from the undefined symbol with the correct build of PHP and extensions.

 

Zend Server, Repo, Installer, Linux, YUM, APT, undefined symbol, unixd_config
Have more questions? Submit a request

Comments

Powered by Zendesk