Tristana 的个人博客   日拱一卒,不期而至。

标签: PHP (3)

PHP 没有块级作用域

<?php $arr = range(0, 9); foreach ($arr as $k => $v) { if ($v/2 == 0) { $flag = true; } else if ($v > 6) { $flag = true; } if (isset($flag)) { // do something echo "I Love PHP!\n"; } } 以上代码除了 $arr 中的值为偶数和大于 6 时会输出”I Love PHP!" ,其它情况也会输出,一开始,我是有点困惑的,搞了好些时间才搞明白。 简单分析下解决的过程:这个代码片段是在最近排查系统的 bug 是看到的,流程做了些简化。代码是我本人写的😓,系统在最开始并没有出现问题,上线一段时候后,就出 bug 了。有的人可能一眼就看出来问题在哪了,但是如果你对 PHP 的变量的作用域不太了解的话,就很容易栽进这坑里。 PHP 有函数作用域,但没有像 c/c++、java 等语言的块及作用域。例如在 c++ 里: for (int i = 0; i < 10; i++) { cout &lt....

502 Bad Gateway 什么意思,如何解决?

中文解释 "Bad Gateway" 百度翻译是错误的网关,专业解释是 Web 服务器作为网关或代理服务器时收到无效的响应。 图片来源 http://server.zzidc.com/fwqcjwt/729.html 产生原因 客户端向服务器发送的请求数量超过了服务器的处理能力,导致服务器无法给于正常的响应。 解决措施 客户端 一般情况下我们只需等待片刻再访问或者使用快捷键 ctrl+F5(mac 用户 cmd+R) 强制刷新一下,重新向服务器发送请求或者清理一下电脑的缓冲文件。(如果还是出现同样的问题,那我们就只能依赖服务端处理了) 服务端 服务端出现这种情况就会稍微复杂一些,可能是由多种原因导致,这就需要我们逐个进行排查了 查看服务器当前的 PHP FastCGI 进程数是否够用; ps -fe | grep "php-fpm" | grep "pool" | wc -l 如果实际使用的 "FastCGI进程数" 接近预设的 "FastCGI进程数",那么说明 "FastCGI进程数" 不够用,需要增大; 部分 PHP 程序的执行时间超过了 Nginx 的等待时间,可....

PHP 函数 header() 的用法归纳

301 永久重定向 <?php header('HTTP/1.1 301 Moved Permanently'); header('Location: http://www.example.com'); exit(); ?> 302 临时重定向 <?php header('Location: http://www.example.com'); exit(); ?> 404 页面未找到 <?php header('HTTP/1.1 404 Not Found'); ?> 503 服务不可用 <?php header('HTTP/1.1 503 Service Temporarily Unavailable'); header('Status: 503 Service Temporarily Unavailable'); exit(); ?> 设置内容类型 <?php // html header('Content-Type: text/html; charset=iso-8859-1'); head....