Nginx 403 错误解决方法
前一阵子在配置 Nginx 时,总是出现 403 错误,虽然之后看起来这个问题是非常简单的,但是对于不熟悉的人来讲,能找到问题还是很不容易的,请求了运维大哥,大哥依然找了很久就没能解决问题,最后解决问题了也是碰巧,还是没能真正的理解到 Nginx 的配置的含义。 Nginx 的配置比 Apache 要简单,好像并不能继承默认的 localhost,比如 index 的配置,不愧是轻量级的服务器。大概...
互联网行业程序员和技术为何频繁跳槽
和一个资深的程序员好友聊天有感,朋友经历了大多数互联网公司,外资,欧美,合资,民营,国企大大小小都去过,100% 货真价实的程序员大师。 说到这个跳槽的问题,其实应该是一个比较大的话题,并且每个人的见解可能还不太一样。与其说这是一个问题,不如说是一个普遍的现象。朋友感觉应该在这个标题上再加上一个限定词,中国?上海? 跳槽从表面上来看就是员工和公司的关系问题,剥开一层皮,其实就是人与人之间的关系问题。...
MacOS自带PHPGD库问题
最近一段时间,一直在 Mac OS 上办公,对于我这种很少触碰苹果产品的人,实在是有些不习惯,不过苹果的产品比较精致,也另有一番体验。在 Mac 上开发,有遇到过一些问题,这里记录最近出现的一次 GD 库异常问题。 苹果系统的终端跟 Linux 非常相似,不过也有一些命令默认没有支持,比如 tree 命令。Mac OS 系统自带了 PHP 解释器和 Python 等。安装好了 Nginx 后,运行 ...
记录一个问题
记录一个问题,有没有好的解决方案!假设 archive.tgz 大小约 2M,里面有 1000 个小文件,其中一个文件名字为 a.txt,我们为了拿到 a.txt,则需要执行下面的命令! tar zxOf archive.tgz a.txt 现在的问题是,上面的命令存在性能问题,耗时有时候会高达 20s。如何加快这个速度呢?最好的解决问题的方法,我猜想,因该是不压缩,只打包!...
前端技术之导航栏浮动最佳实践
关于网页的导航菜单,特别是后台,最古老的做法就是使用 FrameSet。到现在 FrameSet 的这种做法已经过时,并且会带来很多安全问题。于是很多网站在前台都使用浮动的方式来解决这个问题,当页面向上滚动时,到了一定的位置,DIV 导航栏会固定住,这样用户在页面任何位置都能看到重要的导航区域。另外有一种做法用户体验也比较好,比如在腾讯网,当用户稍微向上滚动的时候会出现横向的导航栏,向下滚动导航栏不...
PHP编码转换减号(连接符)无法转换问题
oding 函数进行编码转换,比如将 gb2312 转换为 utf-8 编码,在出现某些特殊字符(减号,连接符)时,不能正常工作,可能会变成问号"?"或者"C"。尝试了多种方法,依然不能很好的解决这个问题。如下代码,在声明了 //IGNORE 后遇到连接符号"-"仍然会变成符号"?"。 <?php $html = iconv($charset, 'utf-8//IGNORE', $html); 按照 ...
关于事务设计的思考
很多人应该不懂吧,本篇无私奉献一下。 很多人都一定思考过事务的设计问题。我们一开始接触 关系型数据库 的时候就被教育,开启事务,A 转账给 B,A 账户减少钱,B 账户增加钱,要么成功,要么失败,不会只做一半。当时觉得好牛逼,这个怎么做到的,比如在任何一个环节断电了,那怎么办呢。后来才知道是数据库记录了事物日志,通过日志的方式实现了两件事情必须都成功或者都失败,但是对于这个日志还是不太明白怎么回事,觉...
解决Nginx报错Permission denied和Primary script unknown
host: "192.168.1.250:7777" 在浏览器中访问,返回 File not found。在网上找了半天错误,关于 Primary script unknown 的,硬是没有一个能解决问题的。最后发现问题是因为我忘记了重启 php-fpm 了,这个报错太诡异了啊。重启 php-fpm 之后就 OK 了。$ sudo systemctl restart nginx.service $ s...
冬夜寒风中漫天飞舞的银杏叶
S 都是异步的,我是绝对不允许直接加载 JS 文件的,哪怕是 async 的 script 文件。但是我添加好了代码之后,显示的是空白的 iframe,控制台也没有任何报错,为了证明我放的代码没有任何问题,今天找了同行的网站能显示广告的代码,以同样的方式添加到我的网站中,结果能够展示广告,说明代码没有任何问题,只是没有审核通过,没有审核通过为什么没有任何的提示?。我一开始怀疑代码问题,是因为我在 Ad...
PDOException: SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
Y000] [1698] Access denied for user 'root'@'localhost'万恶的 MySQL 默认创建的密码为空的 root 账户,这个坑踩了很多次,很容易忽视的一个问题。这种设计的奇特之处在于,这种不需要密码的空账户,使用 mysql 命令登录,不论输入密码与否,不论输入什么密码,都能成功进入数据库。一些其他的语言数据库驱动则不适用这个,无需密码的账户,输入了哪怕是...