Tags: , , , , , , ,

What’s going on with PHP 5.4?

Posted on 26 April 2011 by Chris

Back in November at ZendCon, we heard the first indications of what to expect for PHP 5.4.

It’s now five months later and I’m wondering what’s going on with PHP 5.4, since I personally had expected that I would be testing it by now. So I asked Andi Gutmans, CEO of Zend and he told me that he is very much in favor of pushing out PHP 5.4.

Read more

Comments (0)

Tags: , , , ,

Installing PHPShield loader on CentOS 64 Bit

Posted on 26 February 2011 by Chris

There are some scripts that you install that will require some extra PHP elements to be able to run. When installing PHPMotion, I came across this error.

Warning: dl() [function.dl]: Temporary module name should contain only filename in /home/user/public_html/site.com/classes/config.php on line 2
PHP script /home/user/public_html/site.com/classes/config.php is protected by phpSHIELD and requires the phpSHIELD loader phpshield.5.2.lin. The phpSHIELD loader has not been installed, or is not installed correctly. Please visit the phpSHIELD php encoder site to download required loader.

That is saying that you need to install the phpSHIELD loader. So, the first thing that you will need to do is to download the loader. I was able to get that from http://www.phpshield.com/loaders/ixed4.lin.x86-64.zip for CentOS 5.5 64 bit. You can also find the rest of the loaders at http://www.phpshield.com/loaders if you need it for a different operating system.

Then, we will need to check what the path is to the folder that holds the modules for PHP, which you can find in the php.ini. On the version of CentOS that I am using, that is found at /usr/local/lib/php.ini. You will want to find the part that says
; Directory in which the loadable extensions (modules) reside.
extension_dir = “/usr/local/lib/php/extensions/no-debug-non-zts-20060613″

You can also just use grep as a shortcut to find this so you dont have to look in the php.ini or create a phpinfo page. This will do that for you.

root@server [~]# grep extension_dir /usr/local/lib/php.ini
extension_dir = “/usr/local/lib/php/extensions/no-debug-non-zts-20060613″
; extension_dir directive above.

After that, you will want to check the version of PHP that you are using so you can choose the correct module to move to the modules folder that goes with your version of PHP. In our case, it is 5.2.9.

root@server [/]# php -v
PHP 5.2.9 (cli) (built: Feb 22 2011 10:26:40)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

Then you can create a folder, move the zip file with the modules into that folder, and decompress it. it will give you a few files, but you are going to only need one of those.
root@server [~]# unzip ixed4.lin.x86-64.zip
Archive: ixed4.lin.x86-64.zip
inflating: ixed.4.3.lin
inflating: ixed.4.3ts.lin
inflating: ixed.4.4.lin
inflating: ixed.4.4ts.lin
inflating: ixed.5.0.0.lin
inflating: ixed.5.0.0ts.lin
inflating: ixed.5.0.1.lin
inflating: ixed.5.0.1ts.lin
inflating: ixed.5.0.2.lin
inflating: ixed.5.0.2ts.lin
inflating: ixed.5.0.lin
inflating: ixed.5.0ts.lin
inflating: ixed.5.1.lin
inflating: ixed.5.1ts.lin
inflating: ixed.5.2.lin
inflating: ixed.5.2ts.lin
inflating: ixed.5.3.lin
inflating: ixed.5.3ts.lin

root@server# [~]#ls
./ ixed.4.3ts.lin ixed4.lin.x86-64.zip ixed.5.0.1.lin ixed.5.0.2ts.lin ixed.5.1.lin ixed.5.2ts.lin
../ ixed.4.4.lin ixed.5.0.0.lin ixed.5.0.1ts.lin ixed.5.0.lin ixed.5.1ts.lin ixed.5.3.lin
ixed.4.3.lin ixed.4.4ts.lin ixed.5.0.0ts.lin ixed.5.0.2.lin ixed.5.0ts.lin ixed.5.2.lin ixed.5.3ts.lin

Then for the 2.9 version of PHP that we have, we only will need the ixed.5.2.lin file. When we checked for our extensions directory, it came out to be /usr/local/lib/php/extensions/no-debug-non-zts-20060613, so that is where we need to move that file.

root@server# [~]#mv ixed.5.2.lin /usr/local/lib/php/extensions/no-debug-non-zts-20060613

Then, all you have left to do is to add a line to your php.ini file and you are done. You will want to use a text editor to add extension=”ixed.5.2.lin” to the line below where it specifies the extension directory. So, it should go from looking like this:

; Directory in which the loadable extensions (modules) reside.
extension_dir = “/usr/local/lib/php/extensions/no-debug-non-zts-20060613″

to

; Directory in which the loadable extensions (modules) reside.
extension_dir = “/usr/local/lib/php/extensions/no-debug-non-zts-20060613″
extension=”ixed.5.2.lin”

Then, just save the php.ini with your change and it is done! If that is the only error that you had with the site, it should be up and working now!

Comments (0)

Advertise Here
Advertise Here