Jump to content

cron and php 5.2 to 5.4 errors


ErikW

Recommended Posts

Before

Using PHP 5.2 (Single php.ini)

(Same as PHP 5.2, but all subdirectories will use ~/public_html/php.ini)

also a copy of the php.ini file was placed in the root since the crons folder was moved outside of the public html.

 

A message from the report showed...

 

Domain Syncronisation Cron Report for 16-02-2014

00:01:02<br /> <br /> Active Domain Syncs<br />

 

Nothing there yet. New account. but the report ran.

 

Blue Host forced a conversion over to php.ini version 5.4 and here is the error after that.

 

Failed loading /usr/php/54/usr/lib64/php/modules/ioncube_loader_lin.so: /usr/php/54/usr/lib64/php/modules/ioncube_loader_lin.so: undefined symbol: zend_new_interned_string

 

Failed loading /usr/php/54/usr/lib64/php/modules/ZendGuardLoader.so: /usr/php/54/usr/lib64/php/modules/ZendGuardLoader.so: undefined symbol: zend_new_interned_string

 

Site error: the file <b>/homeX/xxroot1/crons/domainsync.php</b> requires the ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.

 

Tried both single php as well as fast cgi for the type of php.inin file.

 

the crons/config file points to the whmcs folder in the public html. The config file points to the renamed admin file as well.

 

The only difference I can see is that the php.ini file went from 5.2 to 5.4

 

Is there anything I missed or can try to resolve the error above?

 

 

FYI: This is a note at the tail end of the php configuration settings.

Notice: Be aware that this only modifies your ~/public_html/php.ini file. If you apply these changes, please confirm that your other php.ini files are up-to-date for the appropriate version of PHP you're using. We highly suggest using the "Single php.ini" option for your desired version of PHP, to ensure that the proper php.ini is being applied for your site's software. If you choose to use PHP 5.4, you'll want to make sure your crons use "/usr/php/54/usr/bin/php" instead, as otherwise it will use PHP 5.2.

---according to the error, it looks like the php file is 5.4--

Link to comment
Share on other sites

  • 2 weeks later...

I am getting the ERROR...

 

Failed loading /usr/php/54/usr/lib64/php/modules/ioncube_loader_lin.so: /usr/php/54/usr/lib64/php/modules/ioncube_loader_lin.so: undefined symbol: zend_new_interned_string Failed loading /usr/php/54/usr/lib64/php/modules/ZendGuardLoader.so: /usr/php/54/usr/lib64/php/modules/ZendGuardLoader.so: undefined symbol: zend_new_interned_string Site error: the file <b>/home1/chaosan1/crons/domainsync.php</b> requires the ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.

 

I was forced by my host to update all of the php 5.2 ini's to 5.4

 

The message used to be...

 

Domain Syncronisation Cron Report for 14-02-2014 14:34:02<br /> <br /> Active Domain Syncs<br />

 

As I inderstand it, the "Active domain Syncs" would be populated with my active domains. I have yet do have any to synch. I want to get this error resolved first.

 

The Host said the ion loader is up to date. Grr. Any ideas?

Link to comment
Share on other sites

  • WHMCS Support Manager

Hi,

It sounds like Ioncube isn't available when the domainsync.php script is being run by the cron job. Perhaps it's run by a different user than the when you visit the page in your browser?

That's something your hosting provider would need ti investigate and resolve.

Link to comment
Share on other sites

Resolved...

 

This makes sense since moving the Crons folder rests outside of the public_html directory and Single 5.4 php is set for the site.

All of the crons set-up need, in my case, the extra bits " -c /home/username/public_html/php.ini" to work.

The automation and domain sync now work after doing this.

 

 

 

Some scripts executed with a Cron Job requires a specific php.ini file to be used.

 

When executing a PHP script from a Cron Job (or via the command line), you can use a custom php.ini file. The most common situation where a custom php.ini file is needed is when a user's code requires access to something such as Zend Optimizer, which is specified in the php.ini file.

 

Specifying the php.ini File

 

To specify an alternate php.ini file, you'll need to use the -c flag in your PHP command line.

 

For example:

 

php -c /home/username/public_html/php.ini /home/username/crons/domainsync.php

 

In this instance, /home/username/public_html/php.ini is the full path to the php.ini file you'd like to use and /home/username/public_html/myscript.php is the full path to the php script you'd like to run. Using your actual username, change the path to the php.ini and the file you intend to run accordingly

 

Note: Your home directory may be home1, home2, home3, etc.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated