PHP的细节要点
PHP
0
1.PHP运行环境检测函数:php_sapi_name()
命令行执行输出:cli,命令行模式
HTTP/HTTPS访问输出:nginx+fastcgi 或 fpm-fcgi 或 apache2handler, 不同环境输出不同环境标识
2.php-fpm优化
pm = dynamic //进程数,动态分配 pm.max_children = 24 //最大进程数 pm.start_servers = 8 //刚启动时的进程数 pm.min_spare_servers = 8 //服务器空闲时的最小进程数 pm.max_spare_servers = 24 //服务器空闲时的最大进程数 php_flag[display_errors] = off //运行一段时间后,将错误提示信息关闭掉
php-fpm一个进程占了20M-30M之间,top看一下php-fpm占的内存百分比,估算一下就知道了。max_children,max_spare_servers不是越大越好。
3.PHP CURL 抓取页面内容为空,因为目标网页重定向跳转了造成无结果(同理图片也是同样的问题):
curl_setopt($c, CURLOPT_FOLLOWLOCATION, TRUE);
需要设置跟踪爬取重定向页面,否则,不会跟踪重定向页面。
※其他需要注意的是:来源地址(referer)、UA(user_agent)设置。
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'); curl_setopt ($ch, CURLOPT_REFERER, 'https://www.baidu.com');
4.array_filter函数的使用
array_filter函数的功能是利用回调函数来对数组进行过滤,一直都以为用回调函数才能处理,却没有发现手册下面还有一句,如果没有回调函数,那么默认就是删除数组中值为false的项目。
(1).用回调函数过滤数组中的元素:
function test_odd($var) { return($var & 1); } $a1=array("a","b",2,3,4); print_r(array_filter($a1,"test_odd")); # 预览结果 Array ( [3] => 3 )
(2).默认过滤参数中值为false或null的元素:
$entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' ); print_r(array_filter($entry)); #预览结果 Array ( [0] => foo [2] => -1 )
5.系统或API异常排查处理步骤
(1).查看系统error log;
(2).查看Nginx或Apache或其他服务器的访问日志、错误日志(access_log、error_log);
(3).DB字段是否有添加,或类型是否正确,一般字符串存成数字类型会变成1;
(4).服务器文件夹操作权限,一般如果是读写log文件或者上传文件等,可能存在原来系统目录的读写权限问题。
类似以下Nginx注意要点第12点:
6.composer的基本使用:
安装依赖包
获取定义的依赖到你的本地项目,只需要调用 composer.phar
运行 install
命令。
php composer.phar install
获取最新匹配的版本(根据你的 composer.json
文件)并将新版本更新进锁文件。
php composer.phar update
如果只想安装或更新一个依赖,你可以白名单它们:
php composer.phar update monolog/monolog [...]
如果需要指定版本号的话,添加「:version」,update 不能直接接收命令行的版本号:
使用 require
composer require xxxx:1.2.0
或者
vim composer.json
"require": {
"xxxx": "1.2.0"
}
composer update xxxx
7.
Jocsonme
Good Day !
Good good study, day day up !
Related Posts
分类目录
- Apache (6)
- APP-Android (1)
- APP-IOS (3)
- BI (2)
- Qlikview (2)
- BigData (2)
- Domain-Space (1)
- Git (4)
- Google (1)
- History – Articles (2)
- HTML+CSS (13)
- IDE-CodeEditor (1)
- NetBeans (1)
- Javascript (18)
- Linux (24)
- Load-Balancing (3)
- Memcached (1)
- MySQL (9)
- PHP (28)
- Laravel (1)
- Swoole (1)
- Symfony2.x – 3.x (2)
- ThinkPHP5 (1)
- Thirdpart – develop (6)
- ZendFramework2.x (1)
- Products-Design (1)
- Redis (1)
- SEM (2)
- SEO (2)
- Server-Architecture (5)
- Vagrant (1)
- Windows (7)
- BAT (1)
- Workplace (1)
一 | 二 | 三 | 四 | 五 | 六 | 日 |
---|---|---|---|---|---|---|
« 11月 | ||||||
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |