Я пытаюсь создать установщик, выполнив файл PHP через файл Bat в Windows. Затем файл PHP на каком-то этапе импортирует БД вместе с некоторыми другими установками.
Мне удалось сделать это с другими файлами, но независимо от того, что я делаю с этим конкретным файлом, он всегда дает мне эту ошибку:
.BAT ФАЙЛ
@echo on
"C:\uwamp\bin\php\php-7.0.3\php.exe" -f "C:\Program Files\Asset\install\importdb.php"
pause
СООБЩЕНИЕ ОБ ОШИБКЕ:
C:\Program Files\Asset\install>"C:\uwamp\bin\php\php-7.0.3\php.exe" -f "C:\Program Files\Asset\install\importdb.php"
The system cannot find the file specified.
ФАЙЛ PHP:
<?php
$restore_file = "C:\Program Files\Asset\install\asset.sql";
$server_name = "localhost";
$username = "root";
$password = "root";
$database_name = "asset";
$cmd = "mysql -h {$server_name} -u {$username} -p{$password} {$database_name} < $restore_file";
exec($cmd);
?>
Это странное поведение, потому что у меня есть еще 2 файла BAT с одним и тем же кодом, выполняющим разные файлы PHP из одного и того же каталога.
Я думаю, это очень уж XY. Почему у вас вообще есть дополнительный файл PHP? Вы пробовали пакетный режим mysql?
Файл PHP импортирует БД в MySQL. Проблема в том, что PHP даже не выполняется, мне показывают, что файл не может быть найден
вы можете использовать абсолютный путь для mysql?
@Xatenev ну .. Я пытаюсь создать установщик, к сожалению, uWamp не разрешает mysqli в режиме CLI без редактирования файла php.ini,
Если вы заявляете, что другие файлы также выполняются из того же кода, из того же каталога, нет причин, по которым этот файл не выполняется. Пожалуйста, попробуйте изменить имя файла или заменить код одного из исполняемых файлов на код, которого нет. Попробуйте либо перезапустить uWamp (все службы).






это файл SQL или PHP? $ restore_file = "C: \ Program Files \ Asset \ install \ asset.sql";