gpt4 book ai didi

php - 使用 exec Laravel PHP 运行 .sh 文件

转载 作者:行者123 更新时间:2023-12-03 00:36:43 24 4
gpt4 key购买 nike

我正在尝试运行一个 .sh 文件,将 Excel 文件导入到我的数据库中。这两个文件位于公共(public)文件夹内的同一目录中。由于某种原因,exec 命令没有被执行,也没有发生任何错误。

.sh 文件冷:

IFS=,
while read column1
do
echo "SQL COMMAND GOES HERE"

done < file.csv | mysql --user='myusername' --password='mypassword' -D databasename;
echo "finish"

在我的 php 文件中,我尝试了以下操作:

$content = file_get_contents('folder_name/file_name.sh');
echo exec($content);

还有:

shell_exec('sh /folder_name/file_name.sh');

注意:我可以直接从 gitbash 执行 sh 文件,但我希望使用 Laravel Controller 中的函数来完成它。我使用的是 Windows 操作系统。

最佳答案

你可以使用 Laravel 中已有的 Symfony Process 组件 http://symfony.com/doc/current/components/process.html

use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;

$process = new Process('sh /folder_name/file_name.sh');
$process->run();

// executes after the command finishes
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}

echo $process->getOutput();

关于php - 使用 exec Laravel PHP 运行 .sh 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44374495/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com