• We value your experience with Plesk during 2024
    Plesk strives to perform even better in 2025. To help us improve further, please answer a few questions about your experience with Plesk Obsidian 2024.
    Please take this short survey:

    https://pt-research.typeform.com/to/AmZvSXkx
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Contribution PHP Panda! Multi-PHP installer for Plesk

First of all thank you for PHP Panda. I installed it and everything is ok. I'm only interest in PHP 5.6.X. How can I update when a new update is available? just yum update plesk-php-panda ?
 
There are around 25-30 packages for each version, so the best way to update that is with a regular yum update. Barring that you can list all the updates available with yum list, and then update them individually or with wildcards. Personally I just use yum update and leave it at that.
 
I have set up the atomic yum repository. Can I run safely "yum update" for Plesk 12? 14 Package(s) will be installed and 25 Package(s) will be upgraded. I have
 
Which version of Apache is used with php-panda? Is Apache 2.2 supported or will it be updated to Apache 2.4?
 
Any version, 2.0, 2.2, or 2.4. It also works with nginx and litespeed.

There arent any apache upgrades in Atomic, so it will use whatever you're already running.
 
Hi,

My system:
- Plesk 12.X
- CentOS 7.X
- PHP Panda(All Current Releases)

I also installed on the system MongoDB but i can only access it trough system PHP (5.4.X) and not from Atomic PHP 5.6.X ...

How can i add needed extensions to other PHP versions which were made by atomic repositories?
 
Ive never used mongodb before, so I'd need you to put together a test suite for that so I can look into it on the packaging side. I would have thought that would use the regular dba interface?

The php-devel packages exist for all the various versions, and they live under /opt/atomic. So mainly you'd just need to call the right one, and install them into the appropriate root level direct & make the ini changes there.
 
Ive never used mongodb before, so I'd need you to put together a test suite for that so I can look into it on the packaging side. I would have thought that would use the regular dba interface?

The php-devel packages exist for all the various versions, and they live under /opt/atomic. So mainly you'd just need to call the right one, and install them into the appropriate root level direct & make the ini changes there.

Hi,

  1. Mongo server has to be installed on desired linux system (Just fallowed install process on mongodb.org site)
  2. MongoDB PHP driver is not part of base PHP and this extension has to be installed seperad for specific PHP version
  3. When i followed install process from PHP site it just installed mongo db php driver for PHP owned by base system and Plesk ... but not atomic php versions
  4. MongoDB server and Mongo DB PHP driver is not same
  5. IT HAS BEEN RESOLVED AND BELOW IS INSTRUCTION HOW I DID IT (For those who wishes to do the same)
  6. To put extension path in PHP.INI from Atomic 5.6 to system PHP extensions folder will not work! Because extension has to be
    compiled by PHP for which is ment (Important!)
  7. HOW TO INSTALL EXTRA EXTENSIONS FOR ATOMIC PHP VERSIONS ON PLESK:
    1. Download your PHP extension from php site:
      1. wget https://codeload.github.com/mongodb/mongo-php-driver/zip/master
      2. unzip master
      3. Be careful to do this in the folder you are comfortable in because you download and unpack the extension
    2. IMPORTANT: Move into the unpacked folder by just using CD command
    3. In above folder you execute below commands but verify all paths first before execution ...
    4. Run /opt/atomic/atomic-php56/root/usr/bin/phpize -v to check if phpize is working correctly because we use it for compiling
      our extension on Atomic PHP 5.6 (Don't forget the path very important) ... u can do same for each Atomic PHP version
      GOOD OUTPUT (Different for different PHP version that's why extensions installed in PHP 5.4.X will not work in PHP ... 5.6.X
      , even if you put in PHP.INI extension = other_php_modules_path/module.so):

      Configuring for:
      PHP Api Version: 20131106
      Zend Module Api No: 20131226
      Zend Extension Api No: 220131226

    5. Second thing to do is saying to php compiler to use correct php configuration so we use Atomic PHP version php configuration:
      1. ./configure --with-php-config=/opt/atomic/atomic-php56/root/usr/bin/php-config
    6. Then we start compiling:
      1. make
      2. make test
      3. make install
    7. Now PHP extension was correctly compiled for PHP which is meant for ... (You have to do above process for each PHP version or
      for version which needs PHP extensions which are not part of base set)
    8. Last thing we need to do is setting in our PHP version in PHP.INI file to use our extension:
      1. /opt/atomic/atomic-php56/root/etc/php.ini
      2. php.ini content:
        extension = mongo.so
    9. Now go to plesk or your SSH and restart Apache ... and then go online to your Plesk control panel and switch to different PHP version and back
      and extension should work for you on specific php version
  8. Thats all folks! Hopefully it helped to someone ...

Only question now is ... if i update atomic repo ... will these settings go away or will they stay ;)
 
Hello,

We have installed PHP-Panda and it seems to work fine so far. We have a hosting that requires a different PHP-Version for a subdirectory. How can I set PHP 5.2 vor a specific subdirectory? The hosting is set to PHP 5.3.

Kind regards -Stephan
 
@Denis_Molan The php.ini files are tagged %config in the rpm files, but if you really want to protect your custom changes put them in the <atomic root>/etc/php.d/ directory, provided it ends in .ini it will be parsed automatically.

@StephanJ There's a condition I'd never thought of. The plesk API doesnt support that level of granularity by itself, so you'd probably need to change the handler on the different directories in a custom vhost.conf
 
Thanks for the fast reply!

Could you maybe give an example for the configuration in vhost.conf?

I inserted the following in vhost.conf, but it still loads PHP 5.3:
<Directory /home/httpd/vhosts/xxx/httpdocs/subdirectory_with_php52>
SetEnv PP_CUSTOM_PHP_INI /home/httpd/vhosts/system/xxx/etc/php.ini
SetEnv PP_CUSTOM_PHP_CGI_INDEX fastcgi-52
</Directory>

Kind regards -Stephan
 
This is more of a planning question, are there any specific 3rd party modules you'd like to see added to PHP Panda by default? I know some commercial ones have been discussed here already, like ioncube and zendguard, is there anything else we should have on the radar?
 
Long time reader, first time poster.

I have installed PHP Panda and my problem is that when Atomic 5.5 is selected I get "500 Internal Server Error".

I have looked at the error logs and get the following error:

[warn] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server
[error] Premature end of script headers: index.php


When I switch to Atomic 5.4 or 5.6 it works without problems.
  • OS: CentOS 6.6 (Final)
  • Plesk: 12.0.18
$ /usr/local/psa/admin/bin/php_handlers_control --list

Returns:

id: display name: version: type: cgi-bin: php.ini:
module 5.3.3 5.3.3 module /usr/bin/php-cgi /etc/php.ini
fastcgi 5.3.3 5.3.3 fastcgi /usr/bin/php-cgi /etc/php.ini
cgi 5.3.3 5.3.3 cgi /usr/bin/php-cgi /etc/php.ini
fastcgi-54 Atomic 5.4 5.4.36 fastcgi /opt/atomic/atomic-php54/root/usr/bin/php-cgi /opt/atomic/atomic-php54/root/etc/php.ini
fastcgi-55 Atomic 5.5 5.5.20 fastcgi /opt/atomic/atomic-php55/root/usr/bin/php-cgi /opt/atomic/atomic-php55/root/etc/php.ini
fastcgi-56 Atomic 5.6 5.6.4 fastcgi /opt/atomic/atomic-php56/root/usr/bin/php-cgi /opt/atomic/atomic-php56/root/etc/php.ini


As you can see above PHP Panda has not installed the most current versions of PHP. How do go about updating to the current versions.
I have done some googling on the error and its a mixed bag of solutions from updating httpd.conf, php.ini and the PHP wrapper not having the correct permissions.

Can anyone help with this problem?

UPDATED

After a long weekend the problem was opcache. It only comes included with atomic php 5.5 and not the others. The opcache memery limit was set to high and had to change to 16M (which is low) even though I have 4 GB ram. I am guessing its down to being on a VPS and would have to speak with my provider about it if I wanted to raise it. I dont really use it so I just disabled it.
 
Last edited:
Thats just a string in a table. Check your versions with the rpm command. If you dont have the latest, you can always upgrade it with yum.
I'll look into the 5.5 thing. Could be its trying to talk to a fcgi daemon that isnt there
 
Thanks for the reply. I have checked using rpm and using phpinfo() for working versions and they seem to be one release behind. I installed using the instructions in the first post.

I have installed:
  • Atomic 5.4.36
  • Atomic 5.5.20
  • Atomic 5.6.4
In resource manager I have noticed "dcachesize" has reached its limit and highlighted in red. Could this be the cause for my problem with versio 5.5?
I am not sure how to upgrade the atomic php versions. I have tried "yum upgrade atomic-php56-php" but said there is nothing to update for 5.6.

I am no pro, but pick things up easy enough so step by step would be nice or url to tut.

I have done some googling and its a mixer but dont want to do something that would affect my VPS.

Your help is greatly appreciated. Thanks again.
 
Last edited:
After installing PHP Panda I'm now getting an Transaction check / conflict error like the one reported in #30 of this thread on yum update. Here's mine:

Transaction Check Error:
file /usr/lib64/mysql/libmysqlclient.so.18.0.0 from install of mysql-libs-5.5.42-28.el6.art.x86_64 conflicts with file from package mysqlclient18-5.5.28-6.el6.art.x86_64

What's the best way to deal with this?
 
It depends on if you want to run Mysql 5.5 or not. You'd need to decide on one or the other

I guess that's why I'm confused. I'm running mysql Ver 14.14 Distrib 5.1.73, both of the libraries refer to 5.5, no ? I'd prefer to go with mysql-libs-5.5.42-28.el6.art.x86_64. How do I do this? Will Panda upgrade my MySql as well ?
 
Back
Top