Error at I-MSCP Update -> 1.2.9

  • @freedom


    Here: http://i-mscp.net/index.php/PaidSubscriptionList/


    This is a one time payment (including updates).


    Once the payment is validated, you'll be able to download it here:


    PhpSwitcher


    Once you have it, upload it in your server and I'll install it for you with pthread support.

    badge.php?id=1239063037&bid=2518&key=1747635596&format=png&z=547451206

  • @freedom


    You're welcome ;)

    badge.php?id=1239063037&bid=2518&key=1747635596&format=png&z=547451206

  • @Nuxwin


    I have to buy the plugin on end of september / start of october, because other things comes first.
    Would you help us then with pthreads support after we purchase the phpswitcher plugin? ^^

  • @freedom


    Of course ;)

    badge.php?id=1239063037&bid=2518&key=1747635596&format=png&z=547451206

  • @Nuxwin


    Hello again. I bought the Phpswitcher Plugin now.
    Is this still correct, that you will help us install it with pthreads support to get our eBot to work again?



    The Plugin is already uploaded in the i-MSCP Panel.
    Hope we get it to work together now. ^^

  • @Nuxwin


    I work a bit further on this situation.


    Now:


    1. Changed to apache fcgi
    2. Installed the phpswitcherplugin
    3. Try sudo pecl install pthreads-2.0.10, because pecl install pthreads needs php7
    4. Seems okay, but pthreads needs ZTS enabled in PHP - so installing progress aborted


    Problem now is: I can compile an php version with zts but if I want to install pthreads, it needs the zts enabled in the main php version.
    So have I to recompile the main php version again, or can the plugin do this, too?


    Short answer would be great.
    Thanks for help so far. :)


    PS: Seems that ZTS is not included in the phpcompiler script. :(

    Edited once, last by freedom ().

  • @freedom


    You must add the --enable-maintainer-zts option before running the compiler. For instance:


    PhpSwitcher/PhpCompiler/Makefile file (COMMON_CONFIG section):

    Code
    1. ...COMMON_CONFIG = \$(GENERAL_CONFIG) \--disable-debug \--disable-rpath \--disable-static \--enable-bcmath \--enable-calendar \--enable-ctype \--enable-exif \--enable-ftp \--enable-gd-native-ttf \--enable-intl=shared \--enable-mbstring \--enable-pcntl \--enable-pdo=shared \--enable-shmop \--enable-soap \--enable-sockets \--enable-sysvmsg \--enable-sysvsem \--enable-sysvshm \--enable-wddx \--enable-zip \--with-curl=shared,/usr \--with-db4 \--with-bz2 \--with-enchant=shared,/usr \--with-freetype-dir=shared,/usr \--with-gettext \--with-gd=shared \--with-gmp=shared,/usr \--with-iconv \--with-imap=shared,/usr \--with-imap-ssl \--with-jpeg-dir=shared,/usr \--with-kerberos=/usr \--with-layout=GNU \--with-libedit=shared \--with-libxml-dir=/usr \--with-ldap=shared,/usr \--with-ldap-sasl=/usr \--with-onig=/usr \--with-openssl=/usr \--with-pcre-regex=/usr \--with-mcrypt=shared,/usr \--with-mhash=yes \--with-mssql=shared,/usr \--with-mysql-sock=/var/run/mysqld/mysqld.sock \--with-pdo-dblib=shared,/usr \--with-pdo-odbc=shared,unixODBC,/usr \--with-pdo-pgsql=shared,/usr/bin/pg_config \--with-pdo-sqlite=shared,/usr \--with-pgsql=shared,/usr PGSQL_INCLUDE=`pg_config --includedir` \--with-pic \--with-png-dir=shared,/usr \--with-pspell=shared,/usr \--with-qdbm=shared/usr \--with-recode=shared,/usr \--with-regex=php \--with-snmp=shared,/usr \--with-sqlite3=shared,/usr \--with-tidy=shared,/usr \--with-unixODBC=shared,/usr \--with-vpx-dir=shared,/usr \--with-xmlrpc=shared \--with-xpm-dir=shared,/usr/X11R6 \--with-xsl=shared,/usr \--with-zlib \--with-zlib-dir=/usr \--without-gdbm \--without-mm \--without-t1lib \$(CONFIGURE_DTRACE_ARGS)...


    should be:


    Code
    1. ...COMMON_CONFIG = \$(GENERAL_CONFIG) \--disable-debug \--disable-rpath \--disable-static \--enable-bcmath \--enable-calendar \--enable-ctype \--enable-exif \--enable-ftp \--enable-gd-native-ttf \--enable-intl=shared \--enable-mbstring \--enable-pcntl \--enable-pdo=shared \--enable-shmop \--enable-soap \--enable-sockets \--enable-sysvmsg \--enable-sysvsem \--enable-sysvshm \--enable-wddx \--enable-zip \--with-curl=shared,/usr \--with-db4 \--with-bz2 \--with-enchant=shared,/usr \--with-freetype-dir=shared,/usr \--with-gettext \--with-gd=shared \--with-gmp=shared,/usr \--with-iconv \--with-imap=shared,/usr \--with-imap-ssl \--with-jpeg-dir=shared,/usr \--with-kerberos=/usr \--with-layout=GNU \--with-libedit=shared \--with-libxml-dir=/usr \--with-ldap=shared,/usr \--with-ldap-sasl=/usr \--with-onig=/usr \--with-openssl=/usr \--with-pcre-regex=/usr \--with-mcrypt=shared,/usr \--with-mhash=yes \--with-mssql=shared,/usr \--with-mysql-sock=/var/run/mysqld/mysqld.sock \--with-pdo-dblib=shared,/usr \--with-pdo-odbc=shared,unixODBC,/usr \--with-pdo-pgsql=shared,/usr/bin/pg_config \--with-pdo-sqlite=shared,/usr \--with-pgsql=shared,/usr PGSQL_INCLUDE=`pg_config --includedir` \--with-pic \--with-png-dir=shared,/usr \--with-pspell=shared,/usr \--with-qdbm=shared/usr \--with-recode=shared,/usr \--with-regex=php \--with-snmp=shared,/usr \--with-sqlite3=shared,/usr \--with-tidy=shared,/usr \--with-unixODBC=shared,/usr \--with-vpx-dir=shared,/usr \--with-xmlrpc=shared \--with-xpm-dir=shared,/usr/X11R6 \--with-xsl=shared,/usr \--with-zlib \--with-zlib-dir=/usr \--without-gdbm \--without-mm \--without-t1lib \--enable-maintainer-zts \$(CONFIGURE_DTRACE_ARGS)...


    Then, rerun the compiler as explained in the documentation (README file).


    Once done, you must install the pthread extension matching with the PHP version that you compiled (see http://pecl.php.net/package/pthreads ). Also, don't use the pecl command from your distribution but use the pecl command that is provided by the PHP version that you compiled. For the record:


    From the README file:

    badge.php?id=1239063037&bid=2518&key=1747635596&format=png&z=547451206

  • @Nuxwin


    Thanks. Makefile solved the compiling without zts.


    But the eBot dont accept the new version. The eBot startscript is installed in /home/ebot. So it used the default version of php and not the new compiled in /opt/phpswitcher/php5.6/
    Can i change this? Or can i create a new user, copy the ebot files to this user and start from there with the new version?


    If not, i have to compile the main php version with zts, right?

  • @freedom


    Hmm, why you stored the ebot script in /home? The PhpSwitcher has been developed for use with i-MSCP. Your ebot script is out of i-MSCP scope since you stored that script outside a customer web directory (/var/www/virtual/ ...). So here in order you should:

    • Create a new customer dedicated to that ebot service
    • Switch to that new customer
    • Select the PHP5.6 version that you compiled using the PhpSwitcher compiler (you should have registered it through the admin interface if you followed the documentation correctly)

    But I've a little question: How do you're running the ebot script actually? Through http or as CLI script (cron job)? This is an important point. If it is a cli script, this is a bit more complicated to achieve ;)

    badge.php?id=1239063037&bid=2518&key=1747635596&format=png&z=547451206