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

php-custom.ini is not used #3

Open cycomarcooo opened 8 years ago

cycomarcooo commented 8 years ago

Hi, the file /config/php5-config/php-custom.ini is not loaded. as a result, error_log and others custom php settings are not effective. To confirm this, just compare what phpinfo() outputs between what's written in the mentioned file.

I'm trying to find out why.

ezekg commented 8 years ago

It's probably because we're using PHPbrew to manage PHP versions, and the system PHP (what that file is used for) is not used. Probably need to update the provision script to use that file whenever we use PHPbrew as well.

cycomarcooo commented 8 years ago

Yes, we should rsync to conf.d instead of custom-conf.d

cycomarcooo commented 8 years ago

Side question about provisioning: Have you already think to use Ansible instead of provision.sh?

ezekg commented 8 years ago

Well, the custom-conf/ directory is being used by PHPbrew, so I might need to dig into that a bit more to see why it's not picking up the custom PHP configuration (I thought it was).

And yes, I really like the look of Ansible, but this started out as a fork of VVV, so I don't currently have the time to learn Ansible and then rewrite the entire thing in Ansible. Maybe sometime in the future though.

cycomarcooo commented 8 years ago

Here are my 5ct findings: The command line you mentioned pertains to php-switch and appears nowhere else. This script is actually created during the first provisioning but I can't see where it is called (never?). As a result phpbrew seems to not be used to install the native php version of the VM. What I understand is that phpbrew is not used before the user manually call php-switch or phpbrew directly. As a result, if you call phpbrew list you get nothing but Please install at least one PHP with your prefered version.

This could explain why custom-config.d is not parsed by the default php version.

In addition, I noticed the following error message each time I re-provision the VM:

==> default: Updating phpbrew...
==> default: Exception: /usr/local/bin/phpbrew is not writable.
==> default: Trace:
==> default:     0) PhpBrew\Command\SelfUpdateCommand->execute()
==> default:     1) call_user_func_array([PhpBrew\Command\SelfUpdateCommand, 'execute'], [])
==> default:     2) CLIFramework\CommandBase->executeWrapper([])
==> default:     3) CLIFramework\Application->run(['/usr/local/bin/phpbrew', 'self-update'])
==> default:     4) CLIFramework\Application->runWithTry(['/usr/local/bin/phpbrew', 'self-update'])
==> default:     5) require('phar:///usr/local/bin/phpbrew/scripts/phpbrew-emb.php')
==> default: Restart services...
ezekg commented 8 years ago

Ah, you're right. I forgot that I have a post provision script in provision/provision-post.sh,

#!/bin/bash
php-switch 5.6.18 -y

I think we could probably copy custom-php.ini to both conf.d/ and custom-conf.d, but I'll need to do some testing to make sure.

Also, regarding the phpbrew issue, I just saw in their issue tracker that you have to run phpbrew self-update as a root user (I'm running it as the vagrant user), so I'll get that updated in a bit.

Edit: Fixed the phpbrew update issue in https://github.com/ezekg/theme-juice-vvv/commit/dccd654908d34e55dab34b35fdb0fc8865ec7393.