本文主要以PHP7为基础,学习从0开始编写PHP7 拓展,拓展的主要功能是通过拓展,实现如下代码的效果
<?phpfunction say() {return 'hello world';}echo say(); // hello world?>
在拓展中实现say函数,输出hello worl

第一步:生成代码

PHP给我们提供了拓展的生成工具...
查看全文

从字面的意思来说:不能发送header,因为已经发送过一次了。

我的程序之所以出现这种情况,是因为多次使用res.sent()

原因:在处理HTTP请求时,服务器会先输出响应头,然后再输出主体内容,而一旦输出过一次响应头(比...

查看全文

公司有个nodejs的云服务,但是没在开机自启的进程中,如果服务器因为某种原因reboot的话,服务就挂掉了。这肯定是不允许的。so 想要写个脚本,来实现开机自启。奈何shell太渣渣,搞不定。所以在社区找到了pm2,可以把nodejs加到自启服务中。

pm2有一些优势

  • 自带负载均衡功能的node应用进程管理器
  • 可以监控应用CPU和内存情况
  • 操作简单
  • 非常适合IaaS结构

pm2也有劣势...

查看全文

alias 是用来设置命令别名的,使用这个命令,可以极大的节省我们的时间

比如设置alias db='mysql -uroot -proot',设置之后,可以直接使用db命令登录mysql了,但是当关闭控制台的时候,alias就会失效。

alias永久生效

/home用户目录下面有个隐藏文件.bashrc, 使用vim打开,然后在文档后面追加alias命令即可

$ vim /home/ubuntu/.bashrc##在结尾追加alias命令,如alias db = 'mysql -uroot -proot'$ source ~/.bashrc ##使alias生效
查看全文

准备工作

两个账户:tengyunlong tes如果没有账户使用 adduser进行创建
$ adduser test$ usermod -a -G test test # 将test用户加入到test用户组$ groups test #查看test的所有分组$ test : test
使用test用户在/home/test/路径下新建test.txt使此文件允许test分组和test用户读写
total 36drwxr-xr-x 2 test test 4096 Jun  1 15:51 ./drwxr-xr-x 4 root root 4096 Jun  1 15:49 ../-rw-r--r-- 1 test test  220 Jun  1 15:49 .bash_logout-rw-r--r-- 1 test test 3637 Jun  1 15:49 .bashrc-rw-r--r-- 1 test test 8980 Jun  1 15:49 examples.desktop-rw-r--r-- 1 test test  675 Jun  1 15:49 .profile-rw-rw-r-- 1 test test    8 Jun  1 15:53 test.txt

添加分组

使用root账户将 tengyunlong加到test分组
$ usermod -a -G test tengyunlong$ groups tengyunlongtengyunlong : tengyunlong adm cdrom sudo dip plugdev lpadmin sambashare test #可以看到tengyunlong加到test分组了
####运行测试切换tengyunlong账户,进入/home/test目录下
$ lltotal 36drwxr-xr-x 2 test test 4096 Jun  1 15:51 ./drwxr-xr-x 4 root root 4096 Jun  1 15:49 ../-rw-r--r-- 1 test test  220 Jun  1 15:49 .bash_logout-rw-r--r-- 1 test test 3637 Jun  1 15:49 .bashrc-rw-r--r-- 1 test test 8980 Jun  1 15:49 examples.desktop-rw-r--r-- 1 test test  675 Jun  1 15:49 .profile-rw-rw-r-- 1 test test    8 Jun  1 15:53 test.txt$  echo 'sssssssssss'> test.txt$ cat test.txtsssssssssss #可以看到内容被写入了
查看全文

这几次一直使用git push出现如下错误,百度一直没有找到好的解决办法

remote: error: insufficient permission for adding an object to repository database ./objectsremote: fatal: failed to write objecterror: unpack failed: unpack-objects abnormal exitTo git@GIT-ADDRESS! [remote rejected] develop -> develop (unpacker error)error: failed to push some refs to 'git@GIT-ADDRESS'

基本上每次都是绕开

$ git remote set-url origin HTTPS#HTTPS 为https的项目地址$ git push#输入用户名#输入密码

今天终于找到了解决办法

#切换为ssh$ git config --global push.default matching$ git push

拓展

$ git push origin master
上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。
$ git push origin# git push
上面命令表示,将当前分支推送到origin主机的对应分支。不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。如果要修改这个设置,可以采用git config命令。
$ git config --global push.default matching# 或者$ git config --global push.default simple
$ git push --force origin
上面命令使用–force选项,结果导致在远程主机产生一个”非直进式”的合并(non-fast-forward merge)。除非你很确定要这样做,否则应该尽量避免使用–force选项。查看全文