example42 / puppet-php

A puppet module for php. According to Example42 NextGen spec.
Other
45 stars 62 forks source link

Multiple ini declarations #71

Open meecect opened 9 years ago

meecect commented 9 years ago

what syntax do I use if I want to set more than one ini setting? For example, I want this:

upload_max_filesize = 200M memory_limit=512M

Originally, I had this defined:

php::ini { "memory_limit": value => 'memory_limit=512M' }

which set the memory limit, but maybe I was doing it wrong. When I tried this:

php::ini { "memory_limit": value => 'memory_limit=512M' }

php::ini { "upload_max_filesize": value => 'upload_max_filesize = 200M' }

I get a duplicate declaration error, which makes sense, I guess. I'm just too new to puppet syntax to figure this out, but it's probably something simple. Any help?

alvagante commented 9 years ago

I hink you should use a syntax like: php::ini { "memory_limit": value => '512M' }

and be sure you have an unique title (here 'memory_limit') for each php::ini resource

meecect commented 9 years ago

I had tried that first. In that case all I get in the ini file is '512M'. I currently have this:

php::ini { "ini_settings": value => ' memory_limit=512M upload_max_filesize = 200M' }

and that works, but it seems clunky. I agree it probably should work as you proposed, but it doesn't seem to.

alvagante commented 9 years ago

Uhm, sorry, I didn't look well at the define. It's intended to create single .ini files, not to manage lines inside the php.ini file:

""" With this you can alter/add a php ini file for a specific sapi target or for both cli and apache2 (default for Ubuntu|Debian|Mint|SLES|OpenSuSE) """

catalinpan commented 9 years ago

Why not use augeas?

            php::augeas {
                    'php-memorylimit':
                                    entry  => 'PHP/memory_limit',
                                    value  => 512M,
                    'php-date_timezone':
                                    entry  => 'Date/date.timezone',
                                    value  => 'Europe/London',
                    }