4月 24, 2023 - Linux, php开发    php通过ssh2链接到另一台服务器同步代码并重启php-fmp和supervisor已关闭评论

php通过ssh2链接到另一台服务器同步代码并重启php-fmp和supervisor

1:首先需要先按照php的ssh2拓展:

2:

//先测试拓展是否安装并开启
if (!function_exists('ssh2_connect')) {
    Log::error('SSH2扩展没有安装或者没有安装成功');

    return;
}

//建立ssh2连接
$ssh2 = ssh2_connect($ip, 22);
if (!$ssh2) {
    Log::error('连接服务器失败');

    return;
} else {
    Log::info('成功连接上了服务器');
    //连接成功后进行密码[......]

Read more

4月 24, 2023 - php开发    exec执行scp输入密码的交互命令已关闭评论

exec执行scp输入密码的交互命令

将一个文件用nginx用户的scp的方式,拷贝到另一台服务器上并使用root用户链接,如果是首次链接则可能会要求输入yes/no,和密码,则可以:

//将.env拷贝到新创建的服务器上,密码链接超时时间为300s,有提示输入yes/no则自动输入yes
$scp = "expect -c 'spawn scp /var/www/html/staging/mpace-stage.ividxx.cn/.env root@182.4.2.23:/var/www/html/staging/mpxxx.ivideocloud.cn/
    expect {
    \"*assword\"[......]

Read more

4月 11, 2023 - laravel    Laravel使用orm的chunk且有delete时删除不全已关闭评论

Laravel使用orm的chunk且有delete时删除不全

Laravel使用orm的chunk且有delete时会遇到删除不全的问题:

Image::where('property_id', 48)->chunk(2, function ($images) {

    foreach ($images as $image) {

        $image->delete();

    }

});

假如有5条数据,则运行后期望是全部删除,但实际会剩余2条数据.

应该使用chunkById这种方式:

Image::where('property_id', 48)->chunkById(2, fu[......]

Read more

页面:«1...891011121314...42»