我们去年就在emojiall.com这个网站中大量使用svg格式的矢量图,包括各emoji图片厂商和平台提供的svg矢量图以及我们自己的排行榜、情绪分析等原创生成的svg图,有一些svg是直接把svg代码放置在页面的html中,最近把一部
PHP
这是 PHP 分类的页面,点击下面标题查看详细文章内容:
2019年我们就开始用PHP绘图功能在网站上输出图片,除了在线输出PNG图片以外,我们还做了输出GIF动画图、SVG矢量图等功能,在网站中应用的效果也非常好。
不过也发现爬虫过多的时候,对服务器负载和带宽有比较大的影响,于是我们最近采取了几项措施。
首先是接入了Cloudflare或者百度云加速,让图片可以保存到CDN中,这样降低了很多源站访问。
但有个别站图片数量非常多,缓存效果不明显,我们就干脆把PHP在线生成图片改为了读取保存在磁盘中的.png文件,这样相当于又添加了一级缓存,免除了读取对应数据库、调用字体字库、图形绘制等
好些年前,我们的网站就用PHP程序来动态生成robots.txt和sitemap.xml,其中网站地图用php来动态生成而没有保存成文件,因为有些站网址太多,怕sitemap文件过多、过大而占用磁盘空间。虽然动态生成会对数据量很大的数据库有一定影响,但经过一些优化还是可以承受的。但URL很多的网站还存在另外一个问题,就是sitemap被大量爬取,占用带宽,这个问题因为不是很普遍、很迫切,所以就一直放着没有动,只是把有一个站的php程序中添加了延时来让爬虫慢一点。
在使用MediaWiki的几年间,我是不会PHP程序的,后来改Drupal,被迫学了一些PHP,但写起来都不多,在开源程序的基础上做点小修小改,也不讲什么规范,但后来改动慢慢积累多了,再后来招聘了更多的程序员加入,程序的规范性就显得重要起来了。
今年
Drupal中以前都是用node方式来呈现数据,content type设置好字段后,有现成的办法来实现内容呈现和编辑。但后来比较多用到自建的数据表,呈现一般还是用Views来实现,也可以用SQL语句来实现,而修改数据表中内容最开始用阿里云RDS后台,后来改用自己写的form展示和输入修改提交。
昨天同事又说到另外一个类似的需求,我花了几个小时来做,这次干脆把以前呈现表单、提交结果两个页面合并为一个页面,通过判断这个页面的$_GET和$_POST参数来做适当的操作,在Drupal的自定义模块中的PHP程序代码如下:
/** *
PHP升级到7以后直接用file_get_contents和get_headers读取https开头的URL会报错:
Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed Warning: get_headers(): Failed to enable crypto Warn
前些天记录了一篇《PHP生成汉字转Emoji的对照图片》,在此之前都是用PHP的GD扩展实现绘图,还只能做静态的图片出来,这些天在家闭关养伤,花了很多时间来进行“國語辭典系列網站全面升級”,这期间也摸索出来PHP利用Imagick扩展来绘制GIF格式动态图片的办法,现在记录如下。
Imagick 是用 ImageMagic API 来创建和修改图像的PHP官方扩展,详细介绍请看《Imagick官方文档》。
ImageMagick® 是用来创建,编辑,合并位图图像的一套组件。 它能够用于读取,转换,写入多种
今年用PHP的绘图功能做了一些工作,例如为邮编库添加信封例子、为查号吧添加联系名片等,感觉还可以起到一定作用。当时记录了一篇博文《用PHP绘图功能在网站上输出图片》。
这几天把Emoji的图片也与汉字字体图融合,生成汉字与Emoji对照的图片,也别有一番风味。前天记录了一篇《更多网站添加中文转Emoji的功能》,
昨天做的是一个或者多个汉字转Emoji图片(其中每个汉字与一个Emoji对照),例如《成语词典》中的“刻舟求剑”:
今年初开始使用《用PHP绘图功能在网站上输出图片》,在一些网站上输出直观的图片,自己感觉效果还是不错的。 前几天在修改一个站的模块、模板时,突然发现以前可以正常显示的图片不能显示了,只剩下一个16x16的空白图片,这下子影响就大了,感觉在网上搜索相关资料,搜到这篇《PHP : imagepng and imagejpeg output invalid 16x16 image [closed]》,描述的情况、附上的截图几乎和我一模一样。 但我依然没有查出具体问题和解决办法,晚上回家后继续检查,刚准备去.php文件设置增加php的内存试一试
前两周同事开始对阿里云服务器上的PHP 5升级为PHP 7,遇到的问题以及解决办法我记录在《PHP5.x升级到PHP7.x后Drupal网站出现的问题》一文中,本周对MediaWiki所在服务器要进行升级,所以先进行了一些测试,把Wiki站文件复制到已经升级为PHP 7.3.5的服务器上,马上看到了一堆报错,逐个去检查、搜索、修改以致全部解决,下面也来进行一些记录。
首先在MediaWiki官方网站上找到MediaWiki各个版本对PHP的要求,我们目前的MediaWiki 1.27支持PHP 5.5.9+, 5.6.x, 7.0.x, 7.1.x,并没有说支