vultr-logoSo I changed from DigitalOcean to VULTR hosting and decided to go ahead and switch from CentOS 7 to Ubuntu 15.04. I also changed to HHVM since that was not possible on CentOS 7 unless I compiled it manually which I couldn’t be bothered to do. An upgrade to Nginx 1.9.* made it possible to use HTTP/2 instead of SPDY, so I am basically totally up to date when it comes to the latest technologies.
Wordpress was also upgraded to 4.4.

I must say I’m very happy with VULTR, I did some compilation benchmarks using OpenBenchmarking, the results can be found here:
http://openbenchmarking.org/result/1512022-SNEK-VULTR2G18,1508186-SNEK-SNEKVPS64

If you want to sign up to VULTR please use my affiliate link:
http://www.vultr.com/?ref=6862103

php7

I expected compiling of PHP 7 to be more difficult considering it was still an RC1 release and Ubuntu Vivid is not an LTS release. However, it turns out compilation of PHP 7 actually requires more new packages so it was easier than on 14.04 Utopic.
From what I could tell you only need to have two packages installed: build-essential and libxml2-dev. I might have already had extra packages which were required because this is a fully setup desktop for development, so it already includes nginx & hhvm.

The steps to follow are pretty slim and should hopefully be sufficient for most:

And that should do it.

laravelSo I am developing an invoicing system in Laravel and ran into the problem that I couldn’t figure out how to pass validation errors to the master template in Laravel. Normally you can only Redirect::to()->withErrors($validator); and I wasn’t trying to Redirect but output them straight to the View. After having read a few silly solutions which involved View::make()->with(‘errors’, $errors); and then writing a whole new foreach loop in the view instead of the template. That is clearly not an efficient solution since I would mean copy/pasting code from the template to the view.

Doing the following does not work:

So I figured out you can share a variable across all currently loaded views/templates.

Here’s the piece of code that works for me now:

So I get the validator messages and store those in a variable $messages. I then “share” that variable as $errors across all views and my template picks it up in the following piece of code:

So I just spent the greater part of the evening fixing a problem with a client’s Magento installation which was causing deadlocks during checkout. We tried everything from reimporting a database dump to another mysql version, an upgrade to percona and even a whole other cloud server.

We focused on the database because of the deadlock and also saw a lock on a stock table.

Eventually it turned out to be the PageCache module. Even after disabling it in etc/modules was it still active. Only by disabling it via amin did it really turn off and all the deadlock problems disappeared…

I am seriously starting to dislike varnish,
this is not the first time we have had problems with it in combination with Magento.

UPDATE: Look into HHVM in combination with LestiFPC if you crave speed!