2025-02-21 18:02:21
大家好,今天小编关注到一个比较有意思的话题,就是关于php进程的问题,于是小编就整理了4个相关介绍php进程的解答,让我们一起看看吧。
php在web上运行是单进程的,具体原因如下:
1、PHP是一个单线程的脚本开发语言,它常在Web开发及系统集成中出现。PHP是单进程单线程的,当处理复杂的业务的时候我们会发现他串行执行命令的时候CPU、磁盘、内存等利用的都很低有很多时候都是在排队等待,有的时候我们想并发的让他去执行一批任务然后一起拿解决结果是一件很痛苦的事情(自己用pthread或者其他方式才能解决,但是这很痛苦)开发语言一直在升级变化适应需要。另外,可以考虑通讯使用Swoole。
2、解决方案如下:分前后端,前端可以通过消息中间件,同步、异步 调用一个或多个接口。但是socket的扩展确确实实不咋好用。不是普通小企业能做的出来的。
不用优化的缓存,查询是非常危险的,如果数据库出现不稳定,数据丢失也不是不可能,我们是3000W的用量,以前搞的基本页面缓存,但动态部分无法回避,用CACHE都有点儿困难,后来用分发服务器,加上反向代理,解决了!
其实用PHP去做爬虫不是很适合,不过也有几个爬虫框架。
phpspider
这个框架在github上有3.1K的星。使用起来也非常方便,还有比较完整的开发文档。对新手来说非常友好。
而且把爬虫常见的问题,都列举出来了,看文档基本上就能手上抓去东西。
Beanbun
这个框架在github上有1K的星,Beanbun 是一个简单可扩展的爬虫框架,支持分布式,支持守护进程模式与普通模式,守护进程模式基于 Workerman,下载器基于 Guzzle。
支持分布式和redis队列,功能更强大,但是上手难度也上去了。
XCrawler
XCrawler在github上就只有343星了,功能和第一个phpspider差不多,支持失败重试、代理、断点续爬还是不错的。
斜阳说
虽然我自己的本质是PHPer,但是用了这几个框架之后,还是觉得python拿来做爬虫更合适一点。
爬虫一般说的是python的爬虫;如果你要想知道php的爬虫,恐怕网络上的资料是比较少的。当然世界上最好的语言,肯定也是可以做到的。
主要有以下几个:
1. phpspider文档:
https://doc.phpspider.org/
git 地址: https://github.com/owner888/phpspider
2. Beanbun
git 地址: https://github.com/kiddyuchina/Beanbun
Beanbun 是用 PHP 编写的多进程网络爬虫框架,具有良好的开放性、高可扩展性,基于 Workerman。
3.PHPCrawl
git 地址:
https://github.com/mmerian/phpcrawl
4.php selenium
文档:
https://www.selenium.dev/
git 地址:https://github.com/SeleniumHQ/selenium
php爬虫的效率、性能、广泛度都比不上python,建议你还是用python吧。人生苦短,我用python。
简单处理的话,大概可以从三个方面来优化:
一、代码缓存:使用 Zend Opache、apcu 来缓存代码和对象。各参数在 /etc/php5/fpm/conf.d 下面可调。
二、页面缓存:使用 nginx 自带的 fastcgi cache 缓存页面。三、调整 php-fpm 的参数。如 php.ini、php-fpm.ini pool.d/ 目录下各参数的优化。你的内存有64G 的话,可以调高 fpm 子进程的数量,并设为静态。具体参数得测试了。还有其他各种监控、分析方法,这儿就不详叙述了。
到此,以上就是小编对于php进程的问题就介绍到这了,希望介绍关于php进程的4点解答对大家有用。
上一篇:php 包含,php包含的函数
下一篇:php安全,php安全性怎么样
Copyright © 2005-2025 代潇瑞博客 www.daixiaorui.com All Rights Reserved.
免责声明: 1、本站部分内容系互联网收集或编辑转载,并不代表本网赞同其观点和对其真实性负责。 2、本页面内容里面包含的图片、视频、音频等文件均为外部引用,本站一律不提供存储。 3、如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除或断开链接! 4、本站如遇以版权恶意诈骗,我们必奉陪到底,抵制恶意行为。 ※ 有关作品版权事宜请联系客服邮箱:478923*qq.com(*换成@)
渝ICP备2023009091号-21