crontab 笔记

在服务器上定时跑程序。重点:

  1. 要执行的程序,比如 php,必须全局可用
  2. 执行的程序,必须处理内部的文件结构,因为执行路径不太确定

生成日期时间配置,可以使用这个工具

生成日志

1 0 * * * php /var/www/laravel/artisan check:daily > /var/log/laravel.log

每天凌晨 00:01 执行 php,跑一个 laravel command,并且把日志放在 /var/log/laravel.log

续写日志,而不是覆盖

使用 >> 替换 >

解决 composer global install 失败的问题

今天突发奇想,打算写会儿 PHP,按照 Laravel 文档,准备先安装 laravel/installer,结果 composer global require laravel/install 安装失败,提示错误信息:

Your requirements could not be resolved to an installable set of packages.

出问题的包是 symfony/console,需要的版本和已安装版本不一致,安装新版本失败。简单搜了一下,答案比较多,有说版本问题,有说权限问题,有说 PHP 模块问题。

我看了一眼权限,应该没问题。然后 composer help 看了看命令参数,发现有一个命令,可以查看所有已安装,现在版本有些旧了,可以升级的包:composer global outdated。执行之,发现以前安装过 laravel/installer 1.x,自然也安装了 1.x 需要的 symfony/console 作为依赖。那么,多半是这个旧版本阻止了新版本的安装,导致新版 laravel/installer 安装失败。

于是 composer global remove laravel/installer 先删除就版本,然后安装新版本,就 OK 了。

然后,折腾了半天,我又不想写 PHP 了……