Tag Archives: plesk

Installing the memcached PHP module for PHP 7 on Plesk

To install the PHP memcached module for PHP 7 on a Plesk 12.5 server running CentOS 6.8. Please note that this should also work on CentOS 7. We’re going to need to install the libmemcached dev package first: sudo yum install -y libmemcached-devel Next install the PHP 7 dev package. Since this is a Plesk server we install the Plesk version of this package: yum install -y plesk-php70-devel After installing these, cd to a temporary directory and clone the memcached module git repo and checkout the php7 branch: cd /tmp git clone https://github.com/php-memcached-dev/php-memcached.git git checkout php7 Next build the memcached module. Make sure to use the PHP 7 version of phpize and point to the PHP 7 version of php-config in the configure command: /opt/plesk/php/7.0/bin/phpize ./configure --disable-memcached-sasl --with-php-config=/opt/plesk/php/7.0/bin/php-config make sudo make install The module has been built and installed now. Now you only have to enable it: cd /opt/plesk/php/7.0/etc/php.d echo "extension=memcached.so" > memcached.ini Finally restart the webserver for the changes to take effect: sudo apachectl restart To make sure the module is loaded you can run: /opt/plesk/php/7.0/bin/php -m memcached should show up in the list of ...

(Read more...)

Installing HHVM 3.2 on a CentOS 6.7 server with Plesk

I wanted to play with HHVM a little bit to see if the speed gain is really as impressive as the benchmarks are showing. I tried this on a VPS running CentOS 6.7 and Plesk 11.5 and did run into a dependency collision using yum: Error: Package: psa-libxml-proxy-2.7.8-13032215.x86_64 (@PSA_11_5_30-dist) Requires: libboost_program_options.so.5()(64bit) Removing: boost-program-options-1.41.0-27.el6.x86_64 (@base) libboost_program_options.so.5()(64bit) Updated By: boost-program-options-1.54.0-7.el6.x86_64 (hop5) To get around this I first installed boost: wget http://www.hop5.in/yum/el6/boost-program-options-1.54.0-7.el6.x86_64.rpm rpm -ivh boost-program-options-1.54.0-7.el6.x86_64.rpm After installing boost you can install yum to install the hhvm 3.2 package, like so: cd /etc/yum.repos.d sudo wget http://www.hop5.in/yum/el6/hop5.repo yum clean all yum install hhvm To test if hhvm is working: hhvm --version This should return something like this: HipHop VM 3.2.0 (rel) Compiler: tags/HHVM-3.2.0-0-g01228273b8cf709aacbd3df1c51b1e690ecebac8 Repo schema: c52ba40f4a246d35a88f1dfc1daf959851ced8aa To use HHVM as a FastCGI handler from Apache/Nginx I first created a simple config file in /etc/hhvm (this directory should have been created installing the hhvm package). I named my config file hhvm.hdf and the content looks like this: Server { Port = 9000 Type = fastcgi FixPathInfo = true } Log { Level = Verbose UseLogFile = true Header = true File = /var/log/hhvm/error.log Access { * { File = /var/log/hhvm/access.log Format = %{X-Forwarded-For}i %l %u %t ...

(Read more...)

Dealing with alternative directory structures in ZF2

I just started diving into Zend Framework 2 after using Zend Framework 1 and even its early predecessors for years. And boy, things have changed! But after some initial reading I think I already see some major advantages, not in the last place the ModuleManager which really allows developers to create independent modules and share them with the community. Anyway on to the actual subject of this post: directory structure. A standard ZF2 application has the following directory structure: config data module public vendor init_autoloader.php public contains index.php and your .htaccess, plus your public web resources such as images javascript and css files. In a shared hosting environment running Plesk the directory structure is like this: httpdocs (this is the webroot) private statistics subdomains etc. We don’t want to put everything in the httpdocs directory, because that’s the public directory and is accessible from the outside world. In a Plesk environment the private directory is used for application level files that aren’t supposed to be accessible from outside. So the solution is pretty simple: Upload the contents from the public directory into httpdocs Upload the other directories (config, data, module, vendor and init_autoloader.php) into private After that you have to ...

(Read more...)