phpoffice

安装

composer require phpoffice/phpword

注意事项

1:setValue方法中如果valueb不显示html标签或者<>符号
2:类似遍历list的场景,使用 $wordTmp->cloneBlock('EXAM_BLOCK', count($questionList), 1, 1);,
然后item解析语句:
$block_index= $key + 1;
$wordTmp->setValue('right_answer#' . $block_index, $rightAnswer);
3:如果content包含图片,则第一次替换文本的时候,预留图片的占位符,然后在load一次本次生成doc,这里要注意点,第一次不能写<w:br />这种doc换行符

阅读更多

可以转载,但必须说明出处

pthreads(转)

大多数网站的性能瓶颈不在PHP服务器上,因为它可以简单地通过横向增加服务器或CPU核数来轻松应对(对于各种云主机,增加VPS或CPU核数就更方便了,直接以备份镜像增加VPS,连操作系统、环境都不用安装配置),而是在于MySQL数据库。如果用 MySQL 数据库,一条联合查询的SQL,也许就可以处理完业务逻辑,但是,遇到大量并发请求,就歇菜了。如果用 NoSQL 数据库,也许需要十次查询,才能处理完同样地业务逻辑,但每次查询都比 MySQL 要快,十次循环NoSQL查询也许比一次MySQL联合查询更快,应对几万次/秒的查询完全没问题。如果加上PHP多线程,通过十个线程同时查询NoSQL,返回结果汇总输出,速度就要更快了。我们实际的APP产品中,调用一个通过用户喜好实时推荐商品的PHP接口,PHP需要对BigSea NoSQL数据库发起500~1000次查询,来实时算出用户的个性喜好商品数据,使用pthreads PHP扩展,可以使PHP真正地支持多线程。多线程在处理重复性的循环任务,能够大大缩短程序执行时间

PHP扩展下载:https://github.com/krakjoe/pthreads
PHP手册文档:http://php.net/manual/zh/book.pthreads.php

阅读更多

可以转载,但必须说明出处

linux编译php-amq拓展

php版本 5.3.8:

php-amq-1.2-windows 下载地址:
http://blog.ahuang.site/wp-content/uploads/2019/05/win-php-rabbitmq.zip

手动编译php-amq-1.4-linux

  • 下载地址 http://pecl.php.net/package/amqp 找到对应的版本
  • 安装rabbitmq-c 地址:https://github.com/alanxz/rabbitmq-c/releases/download/v0.5.2/rabbitmq-c-0.5.2.tar.gz
    进入对应目录

阅读更多

可以转载,但必须说明出处