Php 以编程方式执行Artisan CLI命令在Laravel中失败
我正在尝试使用编程条件逻辑(if/else)在Laravel控制器中执行Artisan CLI命令。换句话说,我正试图通过使用HTTP请求/响应周期来执行Artisan CLI命令。但是,当我使用表单提交进行此操作时,会出现以下错误:Php 以编程方式执行Artisan CLI命令在Laravel中失败,php,laravel-5,ubuntu-16.04,Php,Laravel 5,Ubuntu 16.04,我正在尝试使用编程条件逻辑(if/else)在Laravel控制器中执行Artisan CLI命令。换句话说,我正试图通过使用HTTP请求/响应周期来执行Artisan CLI命令。但是,当我使用表单提交进行此操作时,会出现以下错误: Spatie\DbDumper\Exceptions\DumpFailed thrown with message "The dump process failed with exitcode 2 : Misuse of shell builtins : sh:
Spatie\DbDumper\Exceptions\DumpFailed thrown with message "The dump
process failed with exitcode 2 : Misuse of shell builtins : sh: 1:
cannot create
/var/www/html/DC_for_Rony/dc/storage/app/Laravel/dump.sql:
Permission denied
"
我已经在网上调查了关于这个问题的一切。不幸的是,他们都不满意我需要的正确解决方案
php(对于编程逻辑,我只说明函数):
config/database.php(对于配置问题,仅针对mysql驱动程序):
如果逻辑足够,我希望生成Artisan CLI命令。My mysqldump已安装。有人能帮忙吗?您存储中的此文件夹
app/Laravel/
是否具有写入权限?此处显示的错误只是权限问题。根据您的错误,问题不在代码中,而在文件本身。您没有写入权限。是的,这是存储/app/Laravel目录中的文件权限问题。我有递归775(包括写入)权限。但是,它属于我的用户帐户,而不是引发此错误的www数据,因此我必须更改该目录的所有权。无论如何,问题解决了。谢谢。您存储中的此文件夹app/Laravel/
是否具有写入权限?因为此处显示的错误只是权限问题。根据您的错误,问题不在代码中,而在文件本身。您没有写入权限。是的,这是存储/app/Laravel目录中的文件权限问题。我有递归775(包括写入)权限。但是,它属于我的用户帐户,而不是引发此错误的www数据,因此我必须更改该目录的所有权。无论如何,问题解决了。谢谢
public function auth_bkp(Request $request){
if (Auth::user()) {
if (Auth::user()->role == 3 && $request->pass ==
'dc_for_rony') {
// dd('1');
Artisan::call(BackupDatabase::class,array());
return back()->with('yesss!!');
}else{
//dd('2');
return back()->with('sorry!');
}
}else{
}
}
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', ''),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
'dump' => [
'dump_binary_path' => '/usr/bin', // only the path, so
without `mysqldump` or `pg_dump`
'use_single_transaction',
'timeout' => 60 * 5, // 5 minute timeout
'exclude_tables' => ['table1', 'table2'],
'add_extra_option' => '--optionname=optionvalue',
]
],