V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  gouchaoer  ›  全部回复第 55 页 / 共 61 页
回复总数  1205
1 ... 47  48  49  50  51  52  53  54  55  56 ... 61  
这么说吧,也许是你比较熟悉 py 而 php 接触少

论跨平台性和部署简易性, php 比 py 做的好很多
论性能, php 比 py 做的好非常多

你的一些观点有点缺乏对 php 的了解。。。。首先你搞错了扩展和第三方库, php 为了追求性能把一些函数用 c 写了,官方就是 pecl 扩展,分为多线程 /单线程版本,你要用需要自己安装。。。而第三方库就是纯的 php 的代码库了,跨平台的,管理为 composer ,类似 nodejs 的 npm 的第三方库管理。。。 py 没有这个概念,什么东西都一股脑装进 py 系统文件夹那里。。。 py 的库管理存在很大问题,平台兼容也没做好。。。所以说 php 在这里被 py 鄙视是荒谬的


opcode 在运行时,那 py 在 import 的时候不是运行时, hhvm 张口就来先去搞清楚概念, php5.6 和 py 比性能把各个场景的 benchmark 亮出来。。。后面的一些东西很暴露水平
@sagaxu
1 ,脚本语言里分场景的, zend 性能 team 跑了一些场景下的 benchmark : https://link.zhihu.com/?target=https%3A//pages.zend.com/rs/zendtechnologies/images/PHP7-Performance%2520Infographic.pdf

2 ,对开发者要求低是好事情,我喜欢 php 不装逼的特点,基本上就是把 c 语言写的库老老实实封装了一下,语法规规矩矩、该有的都有

3 , string 和 number 不分这种 py 更是没脸来说, php 早意识到强类型的好处, php7 里参数类型更是连 string , int 这种基本类型都加进去了。。。 py 的参数真的是严重缺乏类型

4 , array 就是好用,哈西是我, queue 是我,字典是我, stack 是我,数组还是我。。。。不好吗? spl 还有一些数据结构,这些花样没人用就是了
@sagaxu fastcgi 方式特点就是耐草,你要找和 node 那样常驻内存的 php 也有, yaf 、 swoole 这些大厂都用,开一个命令行应用盯着 80 端口这种方式部署和运维都有很高要求,这里我觉得就 java 做的很成熟,别的脚本语言还没有特别成熟

单纯比语言本身性能, php 做的很好的
hhvm 和这个差了十万八千里好吧
php7 加 jit 是谁说的
fcgi 方式让字节码缓存失去意义也太厉害了吧,你 php-fpm 里开 opcache 和不开看看性能如何
py 出来喷 php 的性能。。。 php 的性能在脚本语言里的大多数场景下,那是数一数二的
php 有 opcache ,只是不存在源码目录下,你看不见的
2016-12-09 19:35:04 +08:00
回复了 liweiyun12345 创建的主题 程序员 [链家网招聘] PHP/资深 PHP
鸟哥加入后连 php 大会都链家赞助了
2016-12-09 19:31:55 +08:00
回复了 uuus007 创建的主题 问与答 php 自动化测试 有推荐的工具吗?
写业务搞啥单元测试啊。。。直接黑盒功能测试(逃
2016-12-09 11:51:14 +08:00
回复了 gouchaoer 创建的主题 PHP php 的爬虫经验分享
@shijingshijing 你说的 phantomjs 内存溢出是指单个 phantomjs 的内存溢出还是指 phantomjs 进程没法回收呢?如果是前者, phantomjs 内存消耗在 90M 上下,我的经验的(其实爬消耗比较大的网站 100 多 M 也可能);如果是后者,你看一下你的 Selenium 驱动是不是 2.x ,然后去看看是不是我再下篇中的那个 bug : https://www.v2ex.com/t/325540
也可以不用另开一个 master 容器直接通过 cron 来开 php-cli ,查看运行状态进入容器查看,不过看不到 master 输出,所以可以从定向 cron 开的 php-cli 的输出,类似:* * * * * cd /app && /usr/local/bin/php console/yii app/cron >> /app/console/runtime/cron.log 2>&1
对了,要跑 selenium 的话,把基础镜像装上 jre ,然后一个 container 把入口改成那个 jar 的应用,一个 container 改成 master 命令行应用,源码目录 copy 到 host 的 /app 下面(我镜像里最初放到 /app_src 下纯粹为了初始方便,第一次把 /app-src 复制到 host 的 /app 下后,以后走 git 更新源码了), master 的 container 就 link 到 jar 应用就完了, 2 个 container 源码目录都 host 的 /ap 下。。。。

手机打字乱
这样个镜像 6 、 700m ,没有新的阉割镜像小,不过软件比较齐全,也是 php 官方的系统,所以不折腾,小规模用比较合适。。。
@daydaygo

```
FROM daocloud.io/php:7-fpm
MAINTAINER gouchaoer <[email protected]>

RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list && \
echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list && \
echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list && \
echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list

RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get --yes install \
net-tools \
htop \
iftop \
nano \
libicu-dev \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
libicu-dev \
libssl-dev \
libevent-dev


RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install gd

RUN docker-php-ext-install exif intl mcrypt sockets pdo_mysql
RUN pecl install mongodb
RUN echo "extension=mongodb.so" >> /usr/local/etc/php/conf.d/mongodb.ini
RUN pecl install event
RUN echo "extension=event.so" >> /usr/local/etc/php/conf.d/event.ini
RUN docker-php-ext-install opcache
RUN pecl install apcu
RUN echo "extension=apcu.so" >> /usr/local/etc/php/conf.d/apcu.ini

RUN apt-get --yes install git cron

COPY . /app_src

RUN mkdir -p /root/.ssh
RUN chmod 0700 /root/.ssh
COPY id_rsa /root/.ssh
RUN chmod 0700 /root/.ssh/id_rsa

RUN crontab /app_src/mycron

COPY php.ini /usr/local/etc/php
COPY www.conf /usr/local/etc/php-fpm.d
COPY php-fpm.conf /usr/local/etc
CMD cron && php-fpm
```
这是一个 php-fpm 的 docker-file , php-cli 一样可以用。。。因为我开发环境没用 docker (其实用 docker 更好,但是我懒得改),把 php 和 php-pm 的一些配置加进去了你自己删改吧。。。

cron 的地方可以自己实现自动化开 php-cli 的。。。
腾讯出一个收费客服算了,处理一次花钱,不然 qq 邮箱啥的,可怕
@vtea 没法避开验证码,不过你装得越像人类就越不容易遇到验证码。。。从某种程度上来说,你被弹验证码就已经输了
@sagaxu 验证码这块一开始我们也以为很重要,往后面做发现这块和代理一样只要出钱买就完了,自己搞成本还高。。。

梁博的功力还包括自建机房来着(逃
@kanchi240 理论上来说可以做到,不过大多数网站没有那个成本来做。。。而且你能检测到我,我也会想办法绕过你的检测,最后拼技术成本了。。。
@scnace
@sagaxu
来大战 Selenium 了
2016-12-05 17:41:58 +08:00
回复了 Livid 创建的主题 Redis Redis 4.0 RC1
全文索引都有。。。
1 ... 47  48  49  50  51  52  53  54  55  56 ... 61  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2731 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 15:04 · PVG 23:04 · LAX 07:04 · JFK 10:04
Developed with CodeLauncher
♥ Do have faith in what you're doing.