日拱一卒无有尽,功不唐捐终入海

PHP别针

Sam 1861℃

PHP设计模式


php设计模式大全 https://learnku.com/docs/php-design-patterns/2018
php23种设计模式 https://my.oschina.net/botkenni/blog/1603660
php5种常见设计模式 https://www.cnblogs.com/leedaily/p/8250158.html
php8大设计模式 https://www.cnblogs.com/yuanwanli/p/8796402.html


免费SSL证书


Let’s Encrypt   https://letsencrypt.org
certbot  https://certbot.eff.org/
https://github.com/tollmanz/lets-encrypt-wp
ssl页面不安全 https://wummel.github.io/linkchecker/(里面有不是https的图片和链接)
ubuntu检查页面链接 http://ftp.debian.org/debian/pool/main/l/linkchecker/linkchecker-gui_9.3-5_all.deb
如何修复阻止混合内容的网站  https://developer.mozilla.org/zh-CN/docs/Security/MixedContent/How_to_fix_website_with_mixed_content
ssl证书安装失败  https://www.phpnote.cc/ubuntu16-04-lnmp-ssl
lnmp ssl证书失效
LNMP/LNMPA模式添加上0 3 */7 * * /bin/certbot renew –disable-hook-validation –renew-hook “/etc/init.d/nginx reload” ,LAMP模式添加上0 3 */7 * * /bin/certbot renew –disable-hook-validation –renew-hook “/etc/init.d/httpd restart”
手动更新的话建议再执行:/bin/certbot renew –disable-hook-validation –renew-hook “/etc/init.d/nginx reload” LAMP模式执行:/bin/certbot renew –disable-hook-validation –renew-hook “/etc/init.d/httpd restart” 看一下能否正常更新。


PHP各框架在nginx下规则及其它杂项


.user.ini    open_basedir=/home/:/tmp/:/proc/
查找php.ini位置  php –ini 或者php -i|grep ‘php.ini’


PHP加密


hash_func = md5 / sha1 #可由php.ini配置
PHPSESSIONID = hash_func(客户端IP + 当前时间(秒)+ 当前时间(微妙)+ PHP自带的随机数生产器)


Composer


中国全量镜像  https://pkg.phpcomposer.com/
修改 composer 的全局配置文件(推荐方式)
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:


常用第三方库
composer require guzzlehttp/guzzle


PHP教程集合


GIT教程集合
版本控制管理工具git使用方法记录 https://www.phpnote.cc/version-manage-git-info
git取消跟踪文件目录及使用gitignore忽略文件 https://www.phpnote.cc/git-push-gitignore-file
git使用过程中遇到的各种错误合集 https://www.phpnote.cc/git-push-pull-all-error
git多人协作与git自建服务器交互 https://www.phpnote.cc/git-multi-person-git-server
解决git版本控制代码冲突的方法和工具 https://www.phpnote.cc/git-code-conflict-merge
Linux下Debian7.5系统搭建Git服务器全过程 https://www.phpnote.cc/linux-debian7-5-git
Git服务器免密码SSH登录PUSH/PULL操作 https://www.phpnote.cc/git-server-no-login-ssh
git管理使用远程仓库 https://www.phpnote.cc/git-remote-use
Git项目代码自动布署之GitHooks https://www.phpnote.cc/git-hooks-project-code-auto


PHP常见错误

PHP Fatal error: require(): Failed opening required     //加载的文件路径不对(jinkens配置是否正确)
设置  error_log = /tmp/php_errors.log
调试500错误  tail -f php_error.log

1、PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32768 bytes)
修改php.ini memory_limit最大值256M,更多是检查程序自身,unset使用完变量


Excel数据生成sql插入数据库语句
excel表格有A、B、C三列数据,希望导入到数据库users表中,对应的字段分别是name,sex,age
在你的excel表格中增加一列,利用excel的公式自动生成sql语句,这里建议主键ID最好是自动增长的,可以插入多条数据
方法如下:
1、增加一列(D列)
2、在第一行的D列,就是D1中输入公式: =CONCATENATE(“insert into users (name,sex,age) values (‘”,A1,”‘,'”,B1,”‘,'”,C1,”‘);”)
3、此时D1已经生成了如下的sql语句: insert into users (name,sex,age) values (‘ls’,’女’,’24’);
4、将D1的公式复制到所有行的D列(就是用鼠标点住D1单元格的右下角一直拖拽下去啦)
5、此时D列已经生成了所有的sql语句