ezekg / theme-juice-vm

Deprecated in favor of our new virtual machine:
https://github.com/ezekg/graft
MIT License
1 stars 1 forks source link

phpbrew issues #10

Open cycomarcooo opened 8 years ago

cycomarcooo commented 8 years ago

Hi, There are some problems with phpbrew though php-switch.

  1. PHPBREW_PHP environment variable is not defined in the vm. It means that for some reason .bash_profile is not well configured or overridden at each reload/provision.
  2. gd extension is not installed by default which is a bit annoying as WP rely entirely on it to generate images size variants.
  3. Extensions installed through php-switch are not enabled and even not "recognised" by phpbrew. Performing the command: phpbrew ext enable imagick give this output:
vagrant@graft:~$ phpbrew ext enable imagick
===> Enabling extension imagick
imagick extension is not installed. Suggestions:
    $ phpbrew ext install imagick

It was also the case with the previous VM, I had a hard time solving it by trial and error... Any idea?

ezekg commented 8 years ago

Yeah, I'm having a hard time solving this as well. I'm almost to the point of dropping phpbrew and just locking to a single PHP version, because it's very hard to get an answer on how to do things. Everything I've managed to do has been by trial and error, since there's really no solid documentation anywhere. This is on my list along with getting Ansible set up. If you figure anything out, let me know.

cycomarcooo commented 8 years ago

I understand. I hope I'll have time later this year to help you on that topic, especially on ansible. I started to play with it, especially with this guy's roles. In the meantime, in order to take advantage of the latest php version and other libs, what do you think to switch to Ubuntu 16.04 LTS Xenial? Living with native php-5.5.9 is definitively not an option.

I tried dozen of tricks but I can't make it work... no way...

ezekg commented 8 years ago

What version are you needing? You could destroy your machine and switch the box, yeah, but that would require provisioning. Or you could set up a custom provisioner in scripts/custom/php.sh and uninstall PHP and reinstall the version you need with any extension you need. I hope I have time in the coming months to really give this box an overhaul.

Keep me updated on your progress.

cycomarcooo commented 8 years ago

I'd like to install the same php version as on the VPS I use for deployment. That is too say php 5.6.19, php7 or even hhvm. I try to destroy the VM and install those version with phpbrew but I waste hours trying to install gd extension or compile gd within php... no way, it simply doesn't work and even looking at compile log, I can't figure out why. It seem's Phpbrew is not mature enough, not enough reliable... For now I have no more time to waste with this tool, I'll try this instead.

cycomarcooo commented 8 years ago

I managed to update the whole php stack to php-5.6 using this repo: ppa:ondrej/php. Here is my custom provisioner script php.sh. Before installing this, it's needed to fix the famous boring ubuntu locale issue with a custom provisioner script like this one.

The repo also contains php7 for ubuntu 14.04.

FYI, php5.5 End Of Life has been reached July 21.

Brs

ezekg commented 8 years ago

Great. I'll check those out and try to get them merged!

ezekg commented 8 years ago

@cycomarcooo, just FYI, I'll be cutting a new release of tj this week that includes a brand new VM built from the ground up using Chef as a provisioner. Used Trellis for inspiration on a lot of the configuration. I'll let you know when I release the new version and you can try it out. I'll be deprecating this VM in favor of the new one, which will have it's own repository.

Since it's using Chef, there's no reason to use phpbrew, thankfully. Switching PHP versions should only require editing the Chef configuration. 👌

cycomarcooo commented 8 years ago

Hi @ezekg, good to ear! Trellis is a great source of inspiration =) On my side I've just finished to write an Ansible playbook to provision a vagrant box with a full LAMP stack based on Ubuntu 16.04 LTS for a Sendy host. It works well. I planned to reuse it to create a box compatible with TJ soon.

ezekg commented 8 years ago

@cycomarcooo a new version of tj has been released (gem update theme-juice), along with our new VM. Check out tj's changelog for all of the relevant changes, as there have been a few breaking changes.

Also, you should sign up at https://www.themejuice.it for the desktop app beta. I'll get you a beta invite and free copy of the full version as soon as possible for being such a huge help to me. 👍