The Community Forums

Interact with an entire community of cPanel & WHM users!
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

How to install PHP pthreads or ZTS?

Discussion in 'EasyApache' started by magmatic, Jan 27, 2014.

  1. magmatic

    magmatic Registered

    Joined:
    Jan 27, 2014
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    cPanel Access Level:
    Root Administrator
    I'm trying to use threads in PHP, so I need to install pthreads. It would be nice if EasyApache would have an option for pthreads. But I couldn't find it, so I tried installing it with the pecl command:

    pecl install pthreads

    But this complained at me saying:
    error: pthreads requires ZTS, please re-compile PHP with ZTS enabled

    So I tried looking in EasyApache for a PHP ZTS module, but I couldn't find it either.

    Can anyone help me? Has anyone got pthreads working with EasyApache or cpanel?

    If not, it might be possible to recompile PHP myself, but would cPanel even let me do that?

    Is my only option to uninstall cPanel?

    Thanks.
     
  2. cPanelMichael

    cPanelMichael Forums Analyst
    Staff Member

    Joined:
    Apr 11, 2011
    Messages:
    30,854
    Likes Received:
    676
    Trophy Points:
    113
    cPanel Access Level:
    Root Administrator
    Hello :)

    You could try creating and editing a rawopts file for PHP 5 as described here:

    EasyApache: Raw Opts

    The following entry might be suitable in this file:

    Code:
    --enable-maintainer-zts
    Thank you.
     
  3. magmatic

    magmatic Registered

    Joined:
    Jan 27, 2014
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    cPanel Access Level:
    Root Administrator
    Thank you Michael.

    In fact, I was trying that right now, and it worked. For anyone else reading this, this is what I did:

    echo -enable-maintainer-zts >> /var/cpanel/easy/apache/rawopts/all_php5

    Then I recompiled with this command:

    /usr/local/cpanel/scripts/easyapache

    Then I installed pthreads with pecl like this:

    pecl install pthreads

    Now it works, so I'm happy.
     
  4. sourceforge

    sourceforge Registered

    Joined:
    Jan 20, 2007
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1

    I did the same and it was all ok.
    The installation of ZTS and pthreads was taken using Easy :: Apache v3.24.11.

    In my phpinfo appears phtreads extension, but when I run a script he presents the errors below. One of ZendOptmizer and Ioncube, it must have lost his way in the rebuild.

    The other malformed header. Can help me eliminate these errors happened only after the need ZTS and pthreads.
    As the error malformation referece to the script, the script follows the pastbin, do not know where something's wrong.

    phpinfo()
    /http://www.rendawbs.com/fb/phpinfo.php

    script cron.php
    /http://pastebin.com/PwADPg4S

    Errors
    [Thu Feb 27 11:52:02 2014] [error] [client 198.91.92.190] Failed loading /usr/local/IonCube/ioncube_loader_lin_5.4.so: /usr/local/IonCube/ioncube_loader_lin_5.4.so: undefined symbol: executor_globals
    [Thu Feb 27 11:52:02 2014] [error] [client 198.91.92.190] Failed loading /usr/local/Zend/lib/Guard-6.0.0/php-5.4.x/ZendGuardLoader.so: /usr/local/Zend/lib/Guard-6.0.0/php-5.4.x/ZendGuardLoader.so: undefined symbol: compiler_globals


    [Thu Feb 27 11:53:30 2014] [error] [client 186.207.60.54] malformed header from script. Bad header=<br>apiSEND is Thread #1397080: cron.php
     
  5. sourceforge

    sourceforge Registered

    Joined:
    Jan 20, 2007
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    I installed the pthreads but I need to keep the modules ZendGuard and IonCube working extension.

    After getting the errors I reported checking the logs in apache:
    /usr/local/apache/logs/error_log

    The staff of Customer Support cPanel helped me with the following message:

    cPanel support can not assist you with manually installing the IonCube and Zend Thread Safety loaders.

    The official Ioncube loaders are available for download here:
    Loader Download - PHP Encoder, protection, installer and performance tools from ionCube

    The Zend loaders are available for download here:
    Download Zend Guard - Zend.com

    The thread-safe versions of each loader can be copied to the same location to the original loaders and then the /usr/local/lib/php.ini file and any custom site-specific php.ini files will need to be modified to load the correct thread-safe version of each loader instead of the non-thread-safe version.

    I did the manual installation procedure as advised.
    And the IonCube loader has been resolved.

    changed the php.ini to (non-thread-safe version):
    Code:
    zend_extension="/usr/local/IonCube/ioncube_loader_lin_5.4.so"
    for (thread-safe version):
    Code:
    zend_extension="/usr/local/IonCube/ioncube_loader_lin_5.4_ts.so"

    Have the loader's ZendGuard not yet been resolved.

    Read by the Zend forum, loaders that are both TS and non-TS so a single.

    And the error in /usr/local/apache/logs/error_log is:
    [Wed Mar 05 12:09:02 2014] [error] [client 198.91.92.190] Failed loading /usr/local/Zend/lib/Guard-6.0.0/php-5.4.x/ZendGuardLoader.so: /usr/local/Zend/lib/Guard-6.0.0/php-5.4.x/ZendGuardLoader.so: undefined symbol: compiler_globals

    And command php -v

    root@server [~]# php -v
    Failed loading /usr/local/Zend/lib/Guard-6.0.0/php-5.4.x/ZendGuardLoader.so: /usr/local/Zend/lib/Guard-6.0.0/php-5.4.x/ZendGuardLoader.so: undefined symbol: compiler_globals
    PHP 5.4.25 (cli) (built: Mar 5 2014 10:07:37)
    Copyright (c) 1997-2014 The PHP Group
    Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
    with the ionCube PHP Loader v4.5.3, Copyright (c) 2002-2014, by ionCube Ltd.

    How can I solve this. There is a hidden specific download.

    I appreciate any help or hint ???
     
Loading...

Share This Page