PHP 4.3.10 issue

Discussion in 'News and Announcements' started by alex, Dec 18, 2004.

  1. alex

    alex Administrator Staff Member

    Joined:
    Jan 24, 2004
    Messages:
    6,020
    It is IMPORTANT INFORMATION and will affect all aMember Pro installations, so PLEASE READ. If you have no enough technical knowledge, please pass it to your webmaster or other appropriate person.

    BACKGROUND
    PHP team has released new PHP version 4.3.10 in response to very serious security issues in previous versions. Because of this, most hosting providers will upgrade their PHP very soon, so it may potentially affect every aMember Pro installation.
    The problem is that new PHP version is not compatible nor with old Zend Optimizer, nor with ionCube Loader. Because aMember always use ionCube Loader or Zend Optimizer, it is serious problem.
    Incompatiblity may result to not-expected Smarty error messages, or to not-expected error messages about incorrect license. Also, there may be other effects.

    SYMPTOMS
    You started to see error message on aMember signup page:
    Warning: call_user_func_array(): First argumented is expected to be a valid callback, 'Array' was given in /home/.../amember/smarty/SmartyNoWrite.class.php on line 222
    OR
    You started to see the following error message on any aMember Pro page:
    License error - license domain doesn't match your domain
    It means that your website is affected by issue outlined above.

    SOLUTION
    1. First, you have to find out if your website is really affected by this issue. Download attached file http://cgi-central.net/opened/tester.zip, unpack it (you should get file named "tester.php" and upload to root folder of your website. Then try to access
    http://www.yoursite.com/tester.php
    If you see that PHP version = 4.3.10, then you are really affected by this issue.

    2. Second, you have to find out which aMember Pro version you are using: ionCube or Zend. For that, download file named "rconfig.inc.php" from "amember/" folder of your website. Open it with usual text viewer or text editor. File will look like lot of crap, but don't worry about, just have a look to very first line of file.
    If it looks like
    PHP:
    <?php @Zend;
    then your site is using Zend-encoded version of aMember Pro. If it is something else, then you have default ionCube-encoded version.

    3A. If you have ionCube-encoded version of aMember Pro, then you have to upgrade your ionCube Loader. Download files
    www.cgi-central.net/opened/ioncube_loader_lin_4.3.zip
    www.cgi-central.net/opened/ioncube_loader_fre_4.3.zip

    , unpack archives and upload files to amember/ioncube/ folder on your website.
    There is only update of loader for Linux and FreeBSD. We are awaiting while ionCube will release updated loader (version 2.5) for other platforms and hope it will happen soon.

    3B. If you have Zend-encoded version of aMember Pro, ask your webhosting support to upgrade Zend Optimizer to latest version. Here is described why:
    http://bugs.php.net/bug.php?id=30914
    http://www.php.net/downloads.php

    SUPPORT
    The steps above should help to resolve issue completely. If you followed all these steps, but nothing helps, please contact us via helpdesk
    https://www.cgi-central.net/support/
    and provide the following information:
    - FTP info;
    - URL where problem happens;
    - exact problem description (copy&paste);
    - output of tester scriopt from step (1)
    - also, please let us know if you've followed steps above and what happened;

    MORE INFORMATION
    This issue can be discussed in the following topic:
    http://www.cgi-central.net/forum/showthread.php?t=3288
    Also, if there will be more information to announce, we will update this topic.

    CGI-Central.NET Support Team
  2. alex

    alex Administrator Staff Member

    Joined:
    Jan 24, 2004
    Messages:
    6,020
    ionCube loaders v. 2.5 were additionally updated and loader for FreeBSD added .
  3. alex

    alex Administrator Staff Member

    Joined:
    Jan 24, 2004
    Messages:
    6,020
    IMPORTANT!

    We have discovered that Zend Optimizer (even latest 2.5.7) has a bug that prevents ionCube (and any other PHP extensions like that) from working correctly with PHP 4.3.10.

    This way, if:
    - your host has PHP 4.3.10 installed;
    - and your host has Zend Optimizer installed;
    - and you are using ionCube (default) version of aMember Pro;
    there will be troubles, you will see the same license error.

    To resolve this problem, you need to change your aMember Pro to Zend-encoded version. To do that, you just need to replace 2 files in your installation to Zend-encoded:
    amember/rconfig.inc.php
    amember/plugins/db/mysql/mysql.inc.php

    Zend-encoded files for latest version (today it is 2.3.3) can be downloaded from members area.

    We will make Zend-encoded files for previous versions of aMember available for download from members area tomorrow.

    P.S. We are sorry for all these troubles. It is really annoying. I guess it all is a result of competitive activity between Zend (they sell Zend SafeGuard and they are related with PHP development in the same time) and ionCube encoder, which is a more advanced independent product.
  4. alex

    alex Administrator Staff Member

    Joined:
    Jan 24, 2004
    Messages:
    6,020
    We made available Zend-encoded files for all past versions of aMember. It is avaialble for download here:
    http://www.cgi-central.net/amember/download_zend.php

    If you followed steps above and nothing helps, and tester displays that your host has Zend Optimizer installed, just visit this page and follow upgrade instructions. It will only take 5 minutes of your time and will resolve problem completely.

Share This Page