wp eval-file
Loads and executes a PHP file.
Note: because code is executed within a method, global variables need to be explicitly globalized.
See also wp eval
Usage
wp eval-file {file} [{arg}...] [--skip-wordpress]
You can specify global options and the following:
- {file}
- The path to the PHP file to execute. Use '-' to run code from STDIN.
- [{arg}...]
- One or more arguments to pass to the file. They are placed in the $args variable.
- [--skip-wordpress]
- Load and execute file without loading WordPress.
Source code of the commands
Examples
#1 Demonstration
Run the work.php file in the site root, pass param1 and param2 parameters and disable WordPress environment:
wp eval-file work.php param1 param2 --skip-wordpress
work.php file content:
<?php print_r( $args ); /* show in the console Array ( [0] => param1 [1] => param2 ) */ print_r( $_SERVER['argv'] ); /* show in the console Array ( [0] => D:\server72\modules\wp-cli\wp-cli.phar [1] => eval-file [2] => work.php [3] => param1 [4] => param2 [5] => --skip-wordpress ) */
#2 Run several CLI commands from the file
The code is useful when transferring a site from a local (test) server to a production one. Import the database backup (db.sql file) and do the replacement of the old domain to the new one.
wp eval-file work.php --skip-wordpress
work.php file content:
<?php $commands = [ 'wp db import db.sql', 'wp search-replace old-domain.com new-domain.com' ]; foreach ( $commands as $command ) { echo "\n$command\n" . shell_exec( $command ); }