Akaunting 部署、迁移、升级备忘录
正常作为一套成熟PHP应用程式,下载后自带安装向导,或通过官网提供的命令行即可完成安装。
迁移的时候,以前常用做法是文件打包、数据库打包,把数据库导入到目的地服务器的同时把文件也上传解压。唯一要做的就是修改程式中的数据库及相关配置文件。
Akaunting 采用Laravel 框架开发,是一套好用且相对完善的 会计记账工具 ,应付账单与应收款项功能都很完备。
过去几个月在本地试用很长一段时间后,考虑可以把Akaunting迁移到远程服务器,方便以后使用。这次还是按自己的通用做法,数据库导出、导入,文价打包上传,然后配置 .env
文件。浏览器运行后显示: Whoops, looks like something went wrong.
由于没有错误详细信息,此时可以编辑文件 .env
将 设置项 APP_DEBUG=false
改为 true.
The stream or file "/var/www/.../storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied
file_put_contents(/var/www/.../storage/framework/cache/data/a0/db/a0db3622cd3b9f8487afcac0f82d65bbd06017f0): failed to open stream: No such file or directory
综上信息来看,基本判定为权限问题,把storage下的文件都设777,重新打开可正常进入登录界面。
——-
关于文件权限更新(update 2019.8.7) :
1、/bootstrap/cache 目录权限 777;2、/storage 目录权限 777;
另外, .env
默认位于根目录,MacOS系统默认不显示该文件,可通过编辑器 Atom 打开目录查看并编辑,设置数据库链接与URL。
升级步骤
1、前提:做好旧版网站文件、数据库的备份工作;
2、下载最新的版本文件,解压至网站目录;
3、设置目录 .../storage/
文件夹及子目录文件为可写权限;设置目录 bootstrap/cache
及子目录文件权限为可写;
4、 Akaunting 的版本升级,不能通过文件覆盖方式完成! 参考: akaunting.com/docs/update
Version 1.3.1 与 Version 1.3.17 的setting 数据表字段有变更,没有做字段变更的情况下,进入https://yourwebsite/Akaunting/settings/settings 页面报错; 解决方法:核对新旧版数据表字段,保持与新版数据表结构一致。
错误处理
通过重新安装进行升级操作,因根目录存在 .env
文件,出现错误如下:
The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.
处理方式:将 .env
移除,通过前端安装程序重新生成 .env
文件;