我在用ssh2_connection在vps服务器上安装我的应用程序时遇到了一些问题。我已经创建了一个库,用于在任何vps (apache、mariadb、mysql、php、phpmyadmin.)上配置和自动安装laravel项目,但现在我遇到了最后一个问题,即运行cd /var/www && php arisan key:generate这样的php手工程序,并且每次都这样说:
无法打开输入文件: arisan
当然,当我在putty中打开控制台时,它会工作,但是使用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命令之前,我尝试添加cd ~/var/www或cd /var/www,但是它总是设置到root目录的路由。
我甚至试着像php /var/www/sitea/artisan migrate一样运行,仍然存在相同的问题。
顺便说一句:我正在Centos 8上测试
有什么建议吗?
发布于 2020-12-21 22:11:04
它叫做artisan (你缺少t),而不是arisan。
$cmds = array (
'cd /var/www && php artisan migrate',
'cd /var/www && php artisan db:seed',
'cd /var/www && php artisan passport:install',
);https://stackoverflow.com/questions/65400592
复制相似问题