【发布时间】:2021-03-31 16:17:07
【问题描述】:
我在使用 ssh2_connection 在 vps 服务器上安装我的应用程序时遇到了一些问题。
我已经创建了库来在任何 vps(apache、mariadb、mysql、php、phpmyadmin ..)上配置和自动安装 laravel 项目,但现在我遇到了最后一个问题,像 cd /var/www && php arisan key:generate 一样运行 php artisan,每次它都说:
无法打开输入文件:arisan
当然,当我在腻子中打开控制台时,它会起作用,但是使用 php 函数我没有成功。 我的功能如下:
public static function installLaravel($connection){
$cmds = array (
'cd /var/www && php arisan migrate',
'cd /var/www && php arisan db:seed',
'cd /var/www && php arisan passport:install',
);
foreach ($cmds as $cmd) {
$stream = ssh2_exec($connection, $cmd);
stream_set_blocking($stream, true);
$stream_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO);
echo stream_get_contents($stream_out);
echo stream_get_contents($stream);
}
}
我尝试在运行 php artisan 命令之前添加cd ~/var/www 或cd /var/www,但它总是将路由设置为root 目录。
我什至尝试像php /var/www/sitea/artisan migrate 一样运行,仍然是同样的问题
顺便说一句:我正在 Centos 8 上进行测试
有什么建议吗?
【问题讨论】: