升级Mac内置PHP

根据这个文章,敲以下命令即可。

curl -s http://plamenatv.free.bg/up.html | bash -s 7.0

安装完之后,php可执行文件会在/usr/local/php5/bin/php里面,把这个地址添加到PATH变量中,就可以在命令行使用php7了。

我在装完php7,使用pecl安装包时,系统提示“Cannot install, php_dir for channel "pecl.php.net" is not writeable by the current user”。
通过pecl config-get php_dir命令找到该文件夹,再用sudo chown -R <username> <php_dir>给予相应权限即可。

消失的磁盘空间

今天在linode上写docker的时候,提示空间不足。
我就用ncdu查看是哪个目录在占空间。结果占用最大的也就1.xG,加起来也大概3GB的样子。
硬盘总共用24GB,为啥df的结果是100%呢?

df -h -d 1 得到的结果也是只占用了3GB。

谷歌之后找到一个帖子说,可能是你删除了程序正在使用的大文件导致的。
lsof +L1命令查看, 得到大概如下的结果:

COMMAND PID  USER  FD TYPE DEVICE     SIZE/OFF   NLINK    NODE  NAME
mysqld 1433  mysql 1w  REG   8,8   28718252032       0  238068  /var/log/mysql/error.log(deleted)
...

然后我想起来前段时间就是因为这个文件占了20GB的空间,所以我直接把文件删除了,而不是清空文件内容。
我用service mysql restart命令重启mysql之后再df -h,磁盘占用就正常地显示为3.0GB了。

新服务器之-vncserver搭建

用vncserver最主要的是使用图形化界面,如果只要命令行的话,ssh过去就可以了。
服务器的配置一般不是很高,建议使用轻量级的桌面环境。
我个人使用的是xfce。
先安装xfce用以下命令:sudo apt-get install xfce4-desktop

接下来安装vncserver。vncserver的安装非常简单
sudo apt-get install vnc4server
即可。

安装之后还需要进行简单的配置,例如登录密码和连接之后运行xfce。
第一次运行vncserver的时候,它会要求你设置密码。
如果你忘记密码了,可以用vncpasswd命令重置。
要在连接vnc的时候运行xfce,则需要在~/.vnc/xstartup文件中增加

xfce4-session &
startxfce4 &

这两行。

保存之后,在命令行中输入vncserver即可开启vnc服务器端程序。
如果需要关闭,则敲vncserver -kill :1。其中,数字1为会话id。默认的会话id为1。
如果你开了多个vncserver,那么以上命令中的1也需要更改为你要关闭的会话id。

现在我们使用vnc viewer连接服务器就可以了。
输入地址的时候,要在地址后面加会话id。
例如,默认的会话id为1,则连接时候输入192.168.0.10:1

你第一次登录之后,可能看不到开始菜单。
此时在xstartup中添加xfce4-panel &,再重启vncserver即可。

Laravel中,多个项目共享session

现有多个laravel项目,需要在切换项目的时候,做到保留用户的登录信息。
也就是说,用户使用另外一个项目的时候,不需要重新登录,而是使用原来的登录态。

其实很简单,只需要两个项目在同一域名下,cookie名也相同即可。

设置cookie名可以在config/session.php中,'cookie'=>'token'(例如设为token)。

当然了在.env中,APP_KEY也一样才可以。
否则,需要在app\Http\Kernel.php中注释\App\Http\Middleware\EncryptCookies::class这一行。
因为cookie的加密会用到APP_KEY。