config-command icon indicating copy to clipboard operation
config-command copied to clipboard

Validate constants provided with --extra-php to avoid PHP notices

Open ecotechie opened this issue 3 years ago • 1 comments

The example on the wp config create command's page has an issue. When I create a config like this:

wp config create --dbname=testing --dbuser=wp --dbpass=securepswd --extra-php <<PHP
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
PHP

It adds the debug true, not seeing that by default debug false is already set. This creates warnings on every consecutive run of wp and also adds these to the log.

When doing wp config set WP_DEBUG true --raw instead, it changes the existing false setting to true, or creates it...

Should we be checking for these constants when adding them with --extra-php?

ecotechie avatar Nov 13 '22 01:11 ecotechie

Should we be checking for these constants when adding them with --extra-php?

@ecotechie Interesting idea! I'm not sure how this would be technically possible, but I'm open to a pull request for it.

An alternative approach to consider: offer some explicit wp config create argument for setting a constant's value, and use WPConfigTransformer to manipulate the wp-config.php file.

danielbachhuber avatar Nov 15 '22 21:11 danielbachhuber