阿里PHP外包面试

  1. 写个函数将get_user_name转乘getUserName
  2. http 301、302代表什么意思,怎么实现
  3. php中self和static又什么区别
  4. session和cookies的区别,怎么用redis来存储session
  5. php error相关的函数
  6. 怎么获取用户访问的url
  7. 影响php性能的原因有哪些
  8. 使用过哪些框架,有什么区别,依赖注入是什么
  9. 路由的实现
  10. php的zval是什么
  11. mysql 表设计,索引
  12. redis和memcached的区别
  13. git和svn的区别,git flow,遇到冲突怎么办
  14. nginx怎么实现伪静态
  15. 项目上线部署模式,遇到bug怎么办
  16. linux查看/var/log下有几个文件
  17. xss csrf sql注入
  18. 二分查找

 

  1. 设计模式
  2. 获取客户端ip
  3. nginx配置文件http、server、location指的是什么?
  4. php 魔术方法有哪些
  5. php 读取文件的方法
  6. php递归法读取目录及文件的方法
  7. http headers头有哪些
  8. linux 查看内存使用
  9. get post 的区别
  10. include require的区别
  11. http请求方法 怎么获取put请求
  12. 怎么查看php程序哪里慢了

the input device is not a TTY. If you are using mintty, try prefixing the command with ‘winpty’

1
2
$ docker run -it ubuntu bash
the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'
1
2
$ winpty docker run -it ubuntu bash
root@2323rt774331d:/#

js劫持用户粘贴板

利用clipboard.js,在用户点击链接和按钮的时候就会自动复制红包码到粘贴板

1
2
3
4
5
6
7
8
9
10
11
function copy() {
    var key = 'jfnDtX04u3';
    var script = document.createElement('script');
    script.src = 'https://cdn.bootcss.com/clipboard.js/1.7.1/clipboard.min.js';
    script.onload = function () {
        setTimeout(function () {
            new Clipboard('a,button', { text: function (t) { return key; } });
        }, 100);
    };
    document.body.appendChild(script);
}

Navicat Premium for linux 中文乱码

解决方法:打开工具-选项修改软件字体,修改成SimSun或其他中文字体,最后重启软件就好了。

thinkphp5 模块不存在:static

thinkphp5在访问静态资源时报错,文件明明存在且路径也是正确的,百思不得其解。原因是nginx没有权限访问文件rewrite时认为文件不存在当成控制器去访问了,修改了文件权限就好了。

 

docker iptables: No chain/target/match by that name.

[root@vultr apache]# docker run -dit --name my-apache-app -p 80:80 -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4
0f4647106f3bdf2ecb3d843322613924fcd88a533c2180f8dbdfdeac10df143d
docker: Error response from daemon: driver failed programming external connectivity on endpoint my-apache-app (f0506c0821fda176224e821d4d5c109babe5fd9302b3948956af7dcfd8a2944a): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 80 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1)).

解决方法 重启docker

升级shadowsocks-qt5 无法启动

fedora24 手贱升级了ss-qt5 导致无法启动

ss-qt5: error while loading shared libraries: libQtShadowsocks.so.1: cannot open shared object file: No such file or directory

安装回fzug源的ss解决

dnf install shadowsocks-qt5-2.7.0-1.git4540be9.fc24

摩拜单车15元9个月

摩拜最新客户端app, 点击月卡活动, 进入支付页面,选择5元3个月后

接下来是重点!!!

付款方式选择微信, 跳到微信页面后, 记住别支付, 也别取消! 按Home键切换回摩拜
付款方式选择支付宝, 跳到支付宝页面后, 记住别支付, 也别取消! 按Home键切换回摩拜
付款方式选择Apple Pay, 直接支付, 支付完成后, 提示成功, 再用Home键分别切换回微信和支付宝, 完成付款

全部付款完成后, 根据你当前是否有月卡, 有效期到2018年4月或者5月.

苹果手机可以付款三次, 安卓的不确定,没证实过

Errno architecture (x86_64-linux-thread-multi-4.4.6-301.fc23.x86_64) does not match executable architecture (x86_64-linux-thread-multi-4.10.0-0.rc4.git0.2.fc26.x86_64) at /usr/lib64/perl5/Errno.pm line 11.

fedora24 运行phpize报错
Errno architecture (x86_64-linux-thread-multi-4.4.6-301.fc23.x86_64) does not match executable architecture (x86_64-linux-thread-multi-4.10.0-0.rc4.git0.2.fc26.x86_64) at /usr/lib64/perl5/Errno.pm line 11.
Compilation failed in require at /usr/share/autoconf/Autom4te/XFile.pm line 76.
BEGIN failed--compilation aborted at /usr/share/autoconf/Autom4te/XFile.pm line 76.
Compilation failed in require at /usr/bin/autom4te line 42.
BEGIN failed--compilation aborted at /usr/bin/autom4te line 42.

解决方法:dnf update perl-Errno.x86_64

统计nginx 访问最多的接口

awk '{print $7}' access.log| grep -o -E '[/][^?]+'|sort | uniq -c |sort -n -k 1 -r|more