wp eval-file
Загружает и выполняет файл PHP.
Примечание: поскольку код выполняется внутри метода, глобальные переменные должны быть явно глобализованы.
Исходный код команд
Использование
wp eval-file
Можно указать Глобальные параметры и следующие:
- {file}
- Путь к файлу PHP для выполнения. Используйте '-' для запуска кода из стандартного ввода (STDIN).
- [{arg}...]
- Один или несколько аргументов для передачи в файл. Их можно затем получить в запускаемом файле в переменной $args.
- [--skip-wordpress]
- Выполнение кода файла без загрузки WordPress.
Примеры
#1 Демонстрация
Запустим в корне сайта файл work.php, передадим параметры param1 и param2 и запретим загрузку WordPress:
wp eval-file work.php param1 param2 --skip-wordpress
Содержимое файла work.php:
<?php print_r($args); /* Выдаст в консоли Array ( [0] => param1 [1] => param2 ) */ print_r($_SERVER['argv']); /* Выдаст в консоли Array ( [0] => D:\server72\modules\wp-cli\wp-cli.phar [1] => eval-file [2] => work.php [3] => param1 [4] => param2 [5] => --skip-wordpress ) */
#2 Выполним несколько команд CLI из файла
Код пригодится при переносе сайта с локального (тестового) сервера на боевой. Импортируем бэкап базы данных (файл db.sql) и делаем замену старого домена на новый.
wp eval-file work.php --skip-wordpress
Содержимое файла work.php:
<?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 );
}