配置文件在正式服务器上的部署
配置文件在正式服务器上的部署。 从文件服务器下载配置文件,备份并替换本地的配置文件,将配置文件压缩成zip格式 无 ?phpheader("Content-Type:text/html;charset=utf-8");include 'tz.php';/** * 执行配置文件的压缩 * Created by PhpStorm. * User: saint
配置文件在正式服务器上的部署。
从文件服务器下载配置文件,备份并替换本地的配置文件,将配置文件压缩成zip格式
<?php header("Content-Type:text/html;charset=utf-8"); include 'tz.php'; /** * 执行配置文件的压缩 * Created by PhpStorm. * User: saint * Date: 2015/3/18 * Time: 14:25 */ if(!defined("SYSTEM_PATH")) define("SYSTEM_PATH", '/data/wwwroot/static/webroot'); class Compress { /** * @var array 这里是需要处理的配置文件 */ public $cfg_files = array( 'DEMO1Config.json', # ); /** * @var string 文件服务器地址 */ public $file_server = ''; public $cfg_path = ''; public $temp_path = ''; public $zip_file = ''; /** * 环境初始化 */ public function _InitEnv() { $this->cfg_path = SYSTEM_PATH . '/metafile'; if(false == (is_dir( $this->cfg_path) && is_writable($this->cfg_path))) { throw new Exception('配置目录不存在或者不可写'); } $this->temp_path = SYSTEM_PATH . '/tmp'; if(false == (is_dir($this->temp_path) && is_writable($this->temp_path))) { throw new Exception('临时配置目录不存在或者不可写'); } if(function_exists('file_get_contents') == false) { throw new Exception('file_get_contents函数已禁用'); } if(function_exists('file_put_contents') == false) { throw new Exception('file_put_contents函数已禁用'); } if(class_exists('ZipArchive') == false) { throw new Exception('找不到ZipArchive'); } } public function downloadFiles() { $start = microtime(true); try { $this->_InitEnv(); } catch (Exception $e) { echo $e->getMessage(); exit; } $file_array = array(); // 依次从服务器上下载配置文件 foreach($this->cfg_files as $filename) { $tmp_file = $this->temp_path . '/' . $filename; $remote_file = $this->file_server . '/' . $filename; // 检查本地是否存在临时文件,如果有,则检查这个文件本地文件是否一致 $is_download = true; if(is_file($tmp_file)) { if(hash_file('sha256', $tmp_file) == hash_file('sha256', $remote_file)) { $is_download = false; } } if($is_download) { $contents = file_get_contents($remote_file); file_put_contents($tmp_file, $contents); } $file_array[] = $tmp_file; } // 对配置文件进行压缩 try { $this->compressFiles(); } catch (Exception $e) { echo $e->getMessage(); exit; } $limit = microtime(true) - $start; echo '<p>生成压缩文件成功,本次耗时:' . $limit . 's</p>'; echo '<p>开始替换原来的配置文件</p>'; $this->replaceFiles(); // 插入数据库 echo '<p>替换完毕</p>'; } // 替换原来的文件 public function replaceFiles() { // 打开配置目录,创建备份目录 chdir($this->cfg_path); $backup_dir = 'cfg_bak_' . date('Ymd'); if(is_dir($backup_dir)) { rmdir($backup_dir); } mkdir($backup_dir, 0777); array_push($this->cfg_files, $this->zip_file); foreach($this->cfg_files as $file_name) { $dst_file = $backup_dir . '/' . $file_name; if(is_file($file_name)) { copy($file_name, $dst_file); } $new_file = $this->temp_path . '/' . $file_name; copy($new_file, $file_name); } } /** * 执行压缩文件 * @param $file_array * @throws Exception */ public function compressFiles() { chdir($this->temp_path); $this->zip_file = 'cfg_' . date(('Ymd')) . '.zip'; $zipClass = new ZipArchive(); $fp = $zipClass->open($this->zip_file, ZipArchive::CREATE); if($fp === true) { foreach($this->cfg_files as $file_name) { $zipClass->addFile($file_name); } } else { throw new Exception('压缩失败:' . $fp); } $zipClass->close(); } } $obj = new Compress(); $obj->downloadFiles();

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

DHCP中继的作用是将接收到的DHCP数据包转发到网络上的另一个DHCP服务器,即使这两个服务器位于不同的子网中。通过使用DHCP中继,您可以实现在网络中心部署一个集中式的DHCP服务器,并利用它为所有网络子网/VLAN动态分配IP地址。Dnsmasq是一种常用的DNS和DHCP协议服务器,可以配置为DHCP中继服务器,以帮助管理网络中的动态主机配置。在本文中,我们将向您展示如何将dnsmasq配置为DHCP中继服务器。内容主题:网络拓扑在DHCP中继上配置静态IP地址集中式DHCP服务器上的D

在网络数据传输中,IP代理服务器扮演着重要的角色,能够帮助用户隐藏真实IP地址,保护隐私、提升访问速度等。在本篇文章中,将介绍如何用PHP构建IP代理服务器的最佳实践指南,并提供具体的代码示例。什么是IP代理服务器?IP代理服务器是一种位于用户与目标服务器之间的中间服务器,它充当用户与目标服务器之间的中转站,将用户的请求和响应进行转发。通过使用IP代理服务器

epic服务器离线进不了游戏怎么办?这个问题想必很多小伙伴都有遇到过,出现了此提示就是导致正版的游戏无法启动,那么出现这个问题一般是网络和安全软件干扰导致的,那么应该怎么解决呢,本期小编就来和大伙分享解决方法,希望今日的软件教程可以帮助各位解决问题。 epic服务器离线进不了游戏怎么办: 1、很可能是被安全软件干扰了,将游戏平台和安全软件关闭在重启。 2、其次就是网络波动过大,尝试重启一次路由器,看看是否有效,如果条件可以的话,可以尝试使用5g移动网络来进行操作。 3、然后有可能是更

一、前言在过去的几年里,YOLOs由于其在计算成本和检测性能之间的有效平衡,已成为实时目标检测领域的主导范式。研究人员探索了YOLO的架构设计、优化目标、数据扩充策略等,取得了显着进展。同时,依赖非极大值抑制(NMS)进行后处理阻碍了YOLO的端到端部署,并对推理延迟产生不利影响。在YOLOs中,各种组件的设计缺乏全面彻底的检查,导致显着的计算冗余,限制了模型的能力。它提供了次优的效率,以及相对大的性能改进潜力。在这项工作中,目标是从后处理和模型架构两个方面进一步提高YOLO的性能效率边界。为此

最近有不少Win10系统的用户想要更改用户配置文件,但不清楚具体如何操作,本文将给大家带来Win10系统设置用户配置文件的操作方法吧!Win10如何设置用户配置文件1、首先,按下“Win+I”键打开设置界面,并点击进入到“系统”设置。2、接着,在打开的界面中,点击左侧的“关于”,再找到并点击其中的“高级系统设置”。3、然后,在弹出的窗口中,切换到“”选项栏,并点击下方“用户配

如何在服务器上安装PHPFFmpeg扩展?在服务器上安装PHPFFmpeg扩展可以帮助我们在PHP项目中处理音视频文件,实现音视频文件的编解码、剪辑、处理等功能。本文将介绍如何在服务器上安装PHPFFmpeg扩展,以及具体的代码示例。首先,我们需要确保服务器上已经安装了PHP以及FFmpeg。如果没有安装FFmpeg,可以按照以下步骤安装FFmpe

Helm是Kubernetes的一个重要组件,它通过将配置文件捆绑到一个称为HelmChart的包中来简化Kubernetes应用程序的部署。这种方法使得更新单个配置文件比修改多个文件更加便捷。借助Helm,用户可以轻松地部署Kubernetes应用程序,简化了整个部署过程,提高了效率。在本指南中,我将介绍在Ubuntu上实现Helm的不同方法。请注意:以下指南中的命令适用于Ubuntu22.04以及所有Ubuntu版本和基于Debian的发行版。这些命令经过测试,应该在您的系统上正常运行。在U

Golang是一种由Google开发的开源编程语言,它具有高效、快速、强大的特点,被广泛应用在云计算、网络编程、大数据处理等领域。作为一种强类型、静态语言,Golang在构建服务器端应用程序时具有诸多优势。本文将详细解析Golang服务器的优势及效用,并通过具体的代码示例来说明其强大之处。1.高性能Golang的编译器能够将代码编译成为本地代
