<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[张宴的博客]]></title> 
<link>http://zyan.cc/index.php</link> 
<description><![CDATA[Web系统架构与底层研发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[张宴的博客]]></copyright>
<item>
<link>http://zyan.cc/phpts/</link>
<title><![CDATA[PHPTS：一键免费搭建 Nginx + PHP + MySQL + Redis + Memcached 网站、APP、小程序服务器端运行环境]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[Web服务器]]></category>
<pubDate>Wed, 25 Dec 2019 14:03:28 +0000</pubDate> 
<guid>http://zyan.cc/phpts/</guid> 
<description>
<![CDATA[ 
	　　传承自 <a href="http://www.apmserv.com/" target="_blank">APMServ</a> 的 PHPTS，十年后隆重推出。<br/><br/>　　PHPTS 边缘计算协作服务器套件，是 Windows 系统上一键搭建 Nginx + PHP + MySQL + Memcached + Redis + MongoDB + InfluxDB 等网站、APP、小程序服务器端运行环境的软件。<br/><br/>　　它即可以运行在云服务器上用于生产环境，也能够运行在个人电脑上作为编程开发环境。任何个人和企业，均可免费使用，包括商用用途，并可与自有产品集成发布。<br/><br/>　　PHPTS 未来更大的用途，是运行在本地服务器、PC台式机、笔记本电脑、工控机上，作为边缘计算节点服务器，与摄像头、存储、音响、投屏、打印机、串口设备、工业设备、物联网终端互联互通，利用本地计算机、显卡实现AI人工智能运算、语音合成、人脸识别、视频流分析、音视频转码，不必购买各大公有云平台按次数、按时间、按使用量收费的昂贵计算型云服务；并将利用光纤宽带、5G网络与公有云互联，组建私有云、混合云。<br/><br/>　　【2020年02月15日 PHPTS 1.07 版本发布】<br/><br/>　　软件下载，请访问 PHPTS 官方网站：<a href="https://www.phpts.com/" target="_blank">https://www.phpts.com/</a><br/><br/>　　<a href="https://www.phpts.com/" target="_blank"><img src="https://cdn.phpts.cn/docs/wp-content/uploads/2020/02/phpts10601.png" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0" width="700"/></a><br/><br/>　　PHPTS 1.06 版本，集成 Nginx 1.17.8、PHP 7.4.2、PHP 7.3.14、PHP 5.6.40、MySQL 8.0.19（x64）、Memcached 1.5.22、Redis 4.0.14（x64）、MongoDB 4.3.3（x64）、phpMyAdmin 5.0.1、Bash 终端，并可通过组件方式下载安装 InfluxDB（时间序列数据库）、HeidiSQL（MySQL客户端管理工具）、Another.Redis.Desktop.Manager（Redis客户端管理工具）。推荐在64位 Windows 系统上安装 PHPTS。<br/><br/>　　Nginx for PHPTS 是专门为 Windows 移植的高并发版本，采用 Windows 输入输出完成端口（IOCP），媲美 Linux 下的 epoll。<br/><br/>　　相比于<a href="http://nginx.org/en/docs/windows.html">官方 Nginx Windows 版本</a>仅支持 1024 连接数、仅支持低效的 SELECT/POLL 模型、仅支持单进程，<strong>PHPTS Windows 版本支持 32768 连接数、支持 IOCP 模型、支持多进程能够充分利用多核 CPU</strong>。从此 Nginx Windows 版本性能低下、不能用于生产环境成为历史。<br/><br/>　　<a href="https://www.phpts.com/" target="_blank"><img src="https://cdn.phpts.cn/phpts/www/webstatic/img/mainmenu.png" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0" width="700"/></a><br/><br/>　　<strong>PHPTS 软件功能界面截图</strong><br/><br/>　　Nginx 虚拟主机：<br/><br/>　　<a href="https://www.phpts.com/" target="_blank"><img src="https://cdn.phpts.cn/docs/wp-content/uploads/2020/01/phpts10502.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0" width="700"/></a><br/><br/>　　PHP：<br/><br/>　　<a href="https://www.phpts.com/" target="_blank"><img src="https://cdn.phpts.cn/docs/wp-content/uploads/2020/02/phpts106php.png" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0" width="700"/></a><br/><br/>　　<a href="https://www.phpts.com/" target="_blank"><img src="https://cdn.phpts.cn/docs/wp-content/uploads/2020/02/phpts106phpext.png" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0" width="700"/></a><br/><br/>　　MySQL：<br/><br/>　　<a href="https://www.phpts.com/" target="_blank"><img src="https://cdn.phpts.cn/docs/wp-content/uploads/2020/02/phpts106mysql.png" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0" width="700"/></a><br/><br/>　　<a href="https://www.phpts.com/" target="_blank"><img src="https://cdn.phpts.cn/docs/wp-content/uploads/2019/12/phpts104heidisql.png" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0" width="700"/></a><br/><br/>　　Memcached：<br/><br/>　　<a href="https://www.phpts.com/" target="_blank"><img src="https://cdn.phpts.cn/docs/wp-content/uploads/2020/02/phpts106memcached.png" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0" width="700"/></a><br/><br/>　　Redis：<br/><br/>　　<a href="https://www.phpts.com/" target="_blank"><img src="https://cdn.phpts.cn/docs/wp-content/uploads/2020/01/phpts10506.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0" width="700"/></a><br/><br/>　　InfluxDB 时间序列数据库：<br/><br/>　　<a href="https://www.phpts.com/" target="_blank"><img src="https://cdn.phpts.cn/docs/wp-content/uploads/2020/01/phpts10507.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0" width="700"/></a><br/><br/>　　MongoDB 面向文档数据库：<br/><br/>　　<a href="https://www.phpts.com/" target="_blank"><img src="https://cdn.phpts.cn/docs/wp-content/uploads/2020/02/mongodbadmin-1.png" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0" width="700"/></a><br/><br/>　　Linux Bash 仿真终端：<br/><br/>　　<a href="https://www.phpts.com/" target="_blank"><img src="https://cdn.phpts.cn/docs/wp-content/uploads/2020/02/phpts106console.png" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0" width="700"/></a><br/><br/>　　软件下载，请访问 PHPTS 官方网站：<a href="https://www.phpts.com/" target="_blank">https://www.phpts.com/</a><br/><br/>............<br/><br/>Tags - <a href="http://zyan.cc/tags/phpts/" rel="tag">phpts</a> , <a href="http://zyan.cc/tags/nginx/" rel="tag">nginx</a> , <a href="http://zyan.cc/tags/php/" rel="tag">php</a> , <a href="http://zyan.cc/tags/mysql/" rel="tag">mysql</a> , <a href="http://zyan.cc/tags/memcached/" rel="tag">memcached</a> , <a href="http://zyan.cc/tags/memcache/" rel="tag">memcache</a> , <a href="http://zyan.cc/tags/redis/" rel="tag">redis</a> , <a href="http://zyan.cc/tags/heidisql/" rel="tag">heidisql</a> , <a href="http://zyan.cc/tags/phpmyadmin/" rel="tag">phpmyadmin</a> , <a href="http://zyan.cc/tags/phpstudy/" rel="tag">phpstudy</a> , <a href="http://zyan.cc/tags/apache/" rel="tag">apache</a> , <a href="http://zyan.cc/tags/webserver/" rel="tag">webserver</a> , <a href="http://zyan.cc/tags/julia/" rel="tag">julia</a>
]]>
</description>
</item><item>
<link>http://zyan.cc/korea_vps/</link>
<title><![CDATA[如愿以偿将博客的VPS迁到韩国]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[其他Unix技术]]></category>
<pubDate>Tue, 26 Aug 2014 17:49:25 +0000</pubDate> 
<guid>http://zyan.cc/korea_vps/</guid> 
<description>
<![CDATA[ 
	　　这几天，原博客所在的美国洛杉矶digitalocean的VPS不稳定，决定再次搬迁。现在已经将博客（<a href="http://zyan.cc" target="_blank">http://zyan.cc</a>）迁移到韩国的VPS。国内到韩国的网络线路，应该是最好的，甚至可以媲美中国国内的双线机房。<br/><br/>　　北京联通 ping zyan.cc：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">root@linaro-alip:~# ping zyan.cc<br/>PING zyan.cc (27.255.71.186) 56(84) bytes of data.<br/>64 bytes from 27.255.71.186: icmp_req=1 ttl=50 time=68.3 ms<br/>64 bytes from 27.255.71.186: icmp_req=2 ttl=50 time=63.0 ms<br/>64 bytes from 27.255.71.186: icmp_req=3 ttl=50 time=67.4 ms<br/>64 bytes from 27.255.71.186: icmp_req=4 ttl=50 time=69.5 ms<br/>64 bytes from 27.255.71.186: icmp_req=5 ttl=50 time=62.9 ms<br/>64 bytes from 27.255.71.186: icmp_req=6 ttl=50 time=69.9 ms<br/>64 bytes from 27.255.71.186: icmp_req=7 ttl=50 time=63.2 ms</div><br/><br/>　　广东电信 ping zyan.cc：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">[root@local ~]# ping zyan.cc<br/>PING zyan.cc (27.255.71.186) 56(84) bytes of data.<br/>64 bytes from 27.255.71.186: icmp_seq=1 ttl=46 time=93.6 ms<br/>64 bytes from 27.255.71.186: icmp_seq=2 ttl=46 time=93.2 ms<br/>64 bytes from 27.255.71.186: icmp_seq=3 ttl=46 time=92.8 ms<br/>64 bytes from 27.255.71.186: icmp_seq=4 ttl=46 time=93.0 ms<br/>64 bytes from 27.255.71.186: icmp_seq=5 ttl=46 time=93.0 ms<br/>64 bytes from 27.255.71.186: icmp_seq=6 ttl=46 time=92.7 ms</div><br/><br/>　　杭州阿里云 ping zyan.cc：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">[root@AY140521163455018f38Z ~]# ping zyan.cc<br/>PING zyan.cc (27.255.71.186) 56(84) bytes of data.<br/>64 bytes from 27.255.71.186: icmp_seq=1 ttl=48 time=30.8 ms<br/>64 bytes from 27.255.71.186: icmp_seq=2 ttl=48 time=30.5 ms<br/>64 bytes from 27.255.71.186: icmp_seq=3 ttl=48 time=30.4 ms<br/>64 bytes from 27.255.71.186: icmp_seq=4 ttl=48 time=30.7 ms<br/>64 bytes from 27.255.71.186: icmp_seq=5 ttl=48 time=30.6 ms<br/>64 bytes from 27.255.71.186: icmp_seq=6 ttl=48 time=30.3 ms<br/>64 bytes from 27.255.71.186: icmp_seq=7 ttl=48 time=31.2 ms</div><br/>Tags - <a href="http://zyan.cc/tags/%25E9%259F%25A9%25E5%259B%25BDvps/" rel="tag">韩国vps</a>
]]>
</description>
</item><item>
<link>http://zyan.cc/new_domain/</link>
<title><![CDATA[博客更换域名]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[技术大类]]></category>
<pubDate>Fri, 13 Jun 2014 09:01:09 +0000</pubDate> 
<guid>http://zyan.cc/new_domain/</guid> 
<description>
<![CDATA[ 
	　　由于中国移动屏蔽原 s135.com 域名，现启用新域名 <a href="http://zyan.cc" target="_blank">zyan.cc</a> 作为博客新域名，<del>VPS主机迁移到 digitalocean （ <a href="https://www.digitalocean.com/" target="_blank">https://www.digitalocean.com/</a> ）</del>。<br/><br/>Tags - <a href="http://zyan.cc/tags/zyan/" rel="tag">zyan</a> , <a href="http://zyan.cc/tags/s135/" rel="tag">s135</a>
]]>
</description>
</item><item>
<link>http://zyan.cc/pthreads/</link>
<title><![CDATA[PHP 真正多线程的使用]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[PHP/JS/Shell]]></category>
<pubDate>Tue, 17 Dec 2013 03:17:53 +0000</pubDate> 
<guid>http://zyan.cc/pthreads/</guid> 
<description>
<![CDATA[ 
	　　PHP 5.3 以上版本，使用pthreads PHP扩展，可以使PHP真正地支持多线程。多线程在处理重复性的循环任务，能够大大缩短程序执行时间。<br/><br/>　　我之前的文章中说过，大多数网站的性能瓶颈不在PHP服务器上，因为它可以简单地通过横向增加服务器或CPU核数来轻松应对（对于各种云主机，增加VPS或CPU核数就更方便了，直接以备份镜像增加VPS，连操作系统、环境都不用安装配置），而是在于MySQL数据库。如果用 MySQL 数据库，一条联合查询的SQL，也许就可以处理完业务逻辑，但是，遇到大量并发请求，就歇菜了。如果用 NoSQL 数据库，也许需要十次查询，才能处理完同样地业务逻辑，但每次查询都比 MySQL 要快，十次循环NoSQL查询也许比一次MySQL联合查询更快，应对几万次/秒的查询完全没问题。如果加上PHP多线程，通过十个线程同时查询NoSQL，返回结果汇总输出，速度就要更快了。我们实际的APP产品中，调用一个通过用户喜好实时推荐商品的PHP接口，PHP需要对BigSea NoSQL数据库发起500~1000次查询，来实时算出用户的个性喜好商品数据，PHP多线程的作用非常明显。<br/><br/>　　PHP扩展下载：<a href="https://github.com/krakjoe/pthreads" target="_blank">https://github.com/krakjoe/pthreads</a><br/>　　PHP手册文档：<a href="http://php.net/manual/zh/book.pthreads.php" target="_blank">http://php.net/manual/zh/book.pthreads.php</a><br/><br/>　　1、扩展的编译安装(Linux），编辑参数 --enable-maintainer-zts 是必选项：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">cd /Data/tgz/php-5.5.1<br/>./configure --prefix=/Data/apps/php --with-config-file-path=/Data/apps/php/etc --with-mysql=/Data/apps/mysql --with-mysqli=/Data/apps/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir=/Data/apps/libs --with-jpeg-dir=/Data/apps/libs --with-png-dir=/Data/apps/libs --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt=/Data/apps/libs --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-opcache --with-pdo-mysql --enable-maintainer-zts<br/>make clean<br/>make<br/>make install&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/><br/>unzip pthreads-master.zip<br/>cd pthreads-master<br/>/Data/apps/php/bin/phpize<br/>./configure --with-php-config=/Data/apps/php/bin/php-config<br/>make<br/>make install<br/></div><br/><br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">vi /Data/apps/php/etc/php.ini</div><br/>添加：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">extension = "pthreads.so"</div><br/><br/>　　2、给出一段PHP多线程、与For循环，抓取百度搜索页面的PHP代码示例：<br/><textarea name="code" class="php" rows="15" cols="100">
<?php
&nbsp;&nbsp;class test_thread_run extends Thread 
&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public $url;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public $data;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public function __construct($url)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->url = $url;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public function run()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(($url = $this->url))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->data = model_http_curl_get($url);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&#125;

&nbsp;&nbsp;function model_thread_result_get($urls_array) 
&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach ($urls_array as $key => $value) 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$thread_array[$key] = new test_thread_run($value["url"]);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$thread_array[$key]->start();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach ($thread_array as $thread_array_key => $thread_array_value) 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while($thread_array[$thread_array_key]->isRunning())
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;usleep(10);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($thread_array[$thread_array_key]->join())
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$variable_data[$thread_array_key] = $thread_array[$thread_array_key]->data;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $variable_data;
&nbsp;&nbsp;&#125;

&nbsp;&nbsp;function model_http_curl_get($url,$userAgent="") 
&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$userAgent = $userAgent ? $userAgent : 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)'; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$curl = curl_init();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl, CURLOPT_URL, $url);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl, CURLOPT_TIMEOUT, 5);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_setopt($curl, CURLOPT_USERAGENT, $userAgent);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$result = curl_exec($curl);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curl_close($curl);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $result;
&nbsp;&nbsp;&#125;

&nbsp;&nbsp;for ($i=0; $i < 100; $i++) 
&nbsp;&nbsp;&#123; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$urls_array[] = array("name" => "baidu", "url" => "http://www.baidu.com/s?wd=".mt_rand(10000,20000));
&nbsp;&nbsp;&#125;

&nbsp;&nbsp;$t = microtime(true);
&nbsp;&nbsp;$result = model_thread_result_get($urls_array);
&nbsp;&nbsp;$e = microtime(true);
&nbsp;&nbsp;echo "多线程：".($e-$t)."&#92;n";

&nbsp;&nbsp;$t = microtime(true);
&nbsp;&nbsp;foreach ($urls_array as $key => $value) 
&nbsp;&nbsp;&#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$result_new[$key] = model_http_curl_get($value["url"]);
&nbsp;&nbsp;&#125;
&nbsp;&nbsp;$e = microtime(true);
&nbsp;&nbsp;echo "For循环：".($e-$t)."&#92;n";
?>
</textarea><br/>Tags - <a href="http://zyan.cc/tags/php%25E5%25A4%259A%25E7%25BA%25BF%25E7%25A8%258B/" rel="tag">php多线程</a> , <a href="http://zyan.cc/tags/php/" rel="tag">php</a> , <a href="http://zyan.cc/tags/%25E5%25A4%259A%25E7%25BA%25BF%25E7%25A8%258B/" rel="tag">多线程</a> , <a href="http://zyan.cc/tags/pthreads/" rel="tag">pthreads</a>
]]>
</description>
</item><item>
<link>http://zyan.cc/post/491/</link>
<title><![CDATA[移动互联网初创型团队需要什么样的云计算服务？]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[移动互联网与手机]]></category>
<pubDate>Mon, 28 Oct 2013 07:23:37 +0000</pubDate> 
<guid>http://zyan.cc/post/491/</guid> 
<description>
<![CDATA[ 
	　　对于创业型团队来说，服务器托管费用+带宽成费用+运维成本，是压在头上的三座大山。满足业务性能需要，又要降低成本，尽快实现收支平衡，是当务之急。<br/><br/>　　一、不靠谱的 App Engine<br/><br/>　　1、Google App Engine 云服务在国外的成功，不代表国内巨头们各种 *AE 仿造品的成功。在微博上搜搜就可以看到小伙伴们吐槽的各种不稳定，另外，*AE们对资源使用最大数各种规定限制，加上为了计费、阉割功能的各种限制，使它的价格优势成为鸡肋。*AE们就好比100M共享带宽的小区宽带，以低价卖给每个上网用户5M的带宽，前几十个用户感觉这网速真不错，等他卖了100个以上用户5M带宽，而这部分用户白天上班去了，晚上下班回来都在上网，其中又有一部分看视频、BT下载，于是乎，白天网速快，晚上慢得要死，连200K带宽都达不到。要知道，不怕神一样的对手，就怕猪一样的队友，在国内的 App Engine 环境下，水平参差不齐的开发者的代码质量、习惯性的资源滥用、别人网站被攻击殃及池鱼对*AE性能的影响，导致*AE的稳定性非常差。<br/><br/>　　2、所以，*AE们也意识到公共 App Engine 不稳定，所以又推出专用 App Engine，但费用一下就翻了很多倍。所以，*AE只是个人博客、个人开发者玩玩的工具，真正用作项目，还是需谨慎。根据实际的经验，*AE们还真不如VPS稳定。<br/><br/><hr/><br/>　　二、成本低的小而美VPS<br/><br/>　　1、对于初创团队来说，购买服务器、交换机，托管服务器费用、带宽月使用费，是极其昂贵的。购买可以弹性升级硬件配置的云服务VPS，是降低成本不错的选择。国内VPS，1G内存、1~2核CPU、1M带宽、多线BGP，大概价格在100元/月左右，支持备案，可以作为最低入门选择，有条件可以购买两台互为热备，阿里云主机可以作为参考。大多数VPS服务商使用的都是廉价的SATA磁盘。如果你对磁盘IO要求较高，可以选择提供有SAS磁盘的IAAS云主机服务商，比如UCloud。<br/><br/>　　2、市场上的VPS商家主要有 Xen、OpenVZ、KVM 三种开源的虚拟化技术。全虚拟化的 Xen 更像独立主机，服务器资源按VPS实际大小平均分配，一般无法超售。半虚拟化的 OpenVZ 在同样的性能测试下，会比 Xen 高一些，但是，一台物理内存16G的服务器，可以分配出总内存大小超过16G很多倍的VPS，服务商可以超售，想卖多少台VPS就可以卖多少台，所以不推荐使用。KVM 在最新的 Linux 发行版中，已经是集成，但是，商业化应用还不成熟，基于 KVM 的 VPS 服务商很少。<br/><br/>　　3、VPS的操作系统，建议选择64位的Linux。在32位Linux下，PHP能给处理的整数不能超过正负2^31=2147483648，如果以后接入新浪微博、淘宝、腾讯等第三方开放平台，他们的接口里会有超过32位的整数（比如新浪用户ID、淘宝商品ID）。如果不幸使用32位Linux，你只能将这些整数当成字符串处理了，以后配合Sphinx等搜索引擎，会非常麻烦。<br/><br/>　　4、现在，可以在北京进行备案的域名有：国际域名 .com .net .org，国内域名 .cn .com.cn .中国，国别域名 .cc，其他的域名均不能进行备案。仅北京有限制，其它省市正常提交备案即可。我们原来申请的 .me 域名，在北京无法备案，后来只好拿到苏州去备案了。所以，在选择域名的时候，需要慎重。<br/><br/>　　5、使用 VPS，一定要定期在本地，做好数据备份，不要相信所谓的 7*24服务，99.99%安全稳定性，只要有人的VPS出问题了，都归为那 0.01%。<br/><br/><hr/><br/>　　三、应对峰值带宽的云存储<br/><br/>　　1、对于DAU（日活跃用户）过十万的网站、APP应用来说，CDN或云存储是必需品。使用云存储不是因为存储空间，因为一块几TB的SATA磁盘很便宜，使用云存储是因为高出平均带宽值几倍至几十倍的峰值带宽。做手机APP应用，峰值带宽更集中，当你向所有用户群发PUSH一条消息，用户被唤醒打开APP应用，几分钟的时间，会消耗几十倍的带宽峰值。图片、下载，是最主要的带宽消耗者。也许，数据接口API只需不到1M的带宽，而图片对带宽的峰值需求则会达到100M。为了几分钟的峰值，去购买100M昂贵的带宽，其他时间带宽都空闲，是一件非常奢侈的事。<br/><br/>　　2、国内提供云存储服务的商家有很多，真正好用得却不多，提供FTP等公共通用协议的云存储更是微乎其微。使用第三方云服务，切忌千万不要吊死在一棵树上。支持FTP等公共协议，如果将来有问题，能够方便的进行数据迁移和技术替代。如果云服务厂商一直能够提供优质的服务，那么，也就可以长期使用他们的云服务。相信优秀的云存储提供商，是不会惧怕这一点的。<br/><br/>............<br/>
]]>
</description>
</item><item>
<link>http://zyan.cc/post/490/</link>
<title><![CDATA[ASIHTTPRequest 类库在 iOS 7.0 中需要修改的地方]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[移动互联网与手机]]></category>
<pubDate>Sun, 06 Oct 2013 05:34:27 +0000</pubDate> 
<guid>http://zyan.cc/post/490/</guid> 
<description>
<![CDATA[ 
	　　ASIHTTPRequest 类库在iOS 7.0中，会有一些报错警告，需要稍作修改：<br/><br/>　　1、<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">if ([inputStream streamStatus] == NSStreamEventErrorOccurred) &#123;</div><br/>　　修改成：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">if ([inputStream streamStatus] == (NSStreamStatus)NSStreamEventErrorOccurred) &#123;</div><br/><br/>　　2、<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">return [[NSDate date] addTimeInterval:maxAge];</div><br/>　　修改成：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">return [[NSDate date] dateByAddingTimeInterval:maxAge];</div>
]]>
</description>
</item><item>
<link>http://zyan.cc/post/489/</link>
<title><![CDATA[博客换了个VPS]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[电脑杂谈]]></category>
<pubDate>Fri, 23 Aug 2013 04:58:10 +0000</pubDate> 
<guid>http://zyan.cc/post/489/</guid> 
<description>
<![CDATA[ 
	　　自从被联通封了80端口之后，用国外的空间，反向代理国内ADSL上的Cubieboard，线路非常不稳定。现在已经换了 <a href="https://www.budgetvm.com/" target="_blank">https://www.budgetvm.com/</a> 的OpenVZ VPS，1G内存+80G硬盘+4核CPU+3TB月流量+3个IP，4.99美元/月（人民币大约30元/月）。<br/>
]]>
</description>
</item><item>
<link>http://zyan.cc/post/488/</link>
<title><![CDATA[ADSL故障]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[电脑杂谈]]></category>
<pubDate>Thu, 08 Aug 2013 14:34:51 +0000</pubDate> 
<guid>http://zyan.cc/post/488/</guid> 
<description>
<![CDATA[ 
	　　联通封了80和8080端口（<a href="http://www.10010.com/mall-web/busiNotice/content?noticeId=27045394" target="_blank">http://www.10010.com/mall-web/busiNotice/content?noticeId=27045394</a>），没办法，只好用个国外廉价的VPS（2美元/月，ping 300~400ms线路不怎么好）做个Nginx代理，来访问我家中联通ADSL+Cubieboard上的源站。昨天，联通ADSL出故障了，没有备用线路，只好用了个电信3G上网卡+Cubieboard支撑着源站，线路不稳定，从国外的VPS反向代理过来，经常不通，于是502频报。今天联通的维修人员过来修好了ADSL，博客终于恢复了。<br/><br/>　　发现韩国的VPS国内访问非常快，从国内多个点ping都只有30~50ms，比国内的某些双线机房还要快。有时间弄一个。
]]>
</description>
</item><item>
<link>http://zyan.cc/nginx_php_v7/</link>
<title><![CDATA[Nginx 1.5.2 + PHP 5.5.1 + MySQL 5.6.10 在 CentOS 下的编译安装]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[Web服务器]]></category>
<pubDate>Wed, 29 May 2013 03:53:11 +0000</pubDate> 
<guid>http://zyan.cc/nginx_php_v7/</guid> 
<description>
<![CDATA[ 
	　　最近配置了几台Web服务器，将安装笔记贴出来吧。没时间像以前那样，将文章写的那样系统了，请见谅。详细配置，可以看以前的旧文章：<br/><br/>　　<a href="http://blog.zyan.cc/nginx_php_v6" target="_blank">http://blog.zyan.cc/nginx_php_v6</a><br/><br/>　　1、安装Nginx：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">mkdir -p /Data/tgz<br/>cd /Data/tgz<br/>yum install wget<br/>yum install pcre<br/>yum install openssl*<br/>yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers make<br/>yum -y install gd gd2 gd-devel gd2-devel<br/>/usr/sbin/groupadd www<br/>/usr/sbin/useradd -g www www<br/>ulimit -SHn 65535<br/>wget <a href="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.tar.gz" target="_blank">ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.tar.gz</a><br/>tar zxvf pcre-8.32.tar.gz<br/>cd pcre-8.32<br/>./configure --prefix=/Data/apps/pcre<br/>make && make install<br/>cd ../<br/><br/>wget <a href="http://nginx.org/download/nginx-1.5.2.tar.gz" target="_blank">http://nginx.org/download/nginx-1.5.2.tar.gz</a><br/>tar zxvf nginx-1.5.2.tar.gz<br/>cd nginx-1.5.2<br/>./configure --user=www --group=www --prefix=/Data/apps/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/Data/tgz/pcre-8.32 --with-http_realip_module --with-http_image_filter_module<br/>make<br/>make install<br/>cd ../</div><br/><br/>............<br/><br/>Tags - <a href="http://zyan.cc/tags/nginx/" rel="tag">nginx</a> , <a href="http://zyan.cc/tags/php/" rel="tag">php</a> , <a href="http://zyan.cc/tags/mysql/" rel="tag">mysql</a> , <a href="http://zyan.cc/tags/linux/" rel="tag">linux</a> , <a href="http://zyan.cc/tags/centos/" rel="tag">centos</a>
]]>
</description>
</item><item>
<link>http://zyan.cc/post/486/</link>
<title><![CDATA[手机电商APP的智能化设计]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[移动互联网与手机]]></category>
<pubDate>Tue, 21 May 2013 05:11:05 +0000</pubDate> 
<guid>http://zyan.cc/post/486/</guid> 
<description>
<![CDATA[ 
	<br/>　　5月17日，我在苏州工业园区“<a href="http://news.sipac.gov.cn/special/2013year/20130517ycygflt/" target="_blank">2013首届金鸡湖云产业高峰论坛</a>”上的演讲PPT：《手机电商APP的智能化设计》下载。<br/><br/>　　<a href="http://pan.baidu.com/share/link?shareid=560014&uk=3946315320&third=2" target="_blank">http://pan.baidu.com/share/link?shareid=560014&uk=3946315320&third=2</a><br/>
]]>
</description>
</item><item>
<link>http://zyan.cc/post/485/</link>
<title><![CDATA[被CC攻击]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[Web服务器]]></category>
<pubDate>Tue, 21 May 2013 03:58:24 +0000</pubDate> 
<guid>http://zyan.cc/post/485/</guid> 
<description>
<![CDATA[ 
	　　昨晚开始，我博客在国外的256M内存小VPS，遭到大量IP的CC攻击，带宽被占满，机房为了保证其他VPS的正常访问，对我的VPS访问进行了限制。没办法，只好用几KB/秒的速度，将未备份的几百兆数据迁移回来（幸好内容未变动的几个G数据，本地已经有备份）。因为域名未备案，于是放在了家中的北京联通ADSL +&nbsp;&nbsp;<a href="http://blog.zyan.cc/cubieboard/" target="_blank">cubieboard</a> 上，恢复了服务。2M的ADSL，上行只有512K带宽，速度会慢点，等有时间了，将图片、文件放在别的地方。
]]>
</description>
</item><item>
<link>http://zyan.cc/cubieboard/</link>
<title><![CDATA[iPhone大小的盒子服务器Cubieboard]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[系统架构与硬件]]></category>
<pubDate>Mon, 25 Mar 2013 07:57:38 +0000</pubDate> 
<guid>http://zyan.cc/cubieboard/</guid> 
<description>
<![CDATA[ 
	　　在淘宝上350多元，买了个基于ARM平台的超小电脑 cubieboard，配置如下：<br/><br/>　　1G ARM cortex-A8 processor, NEON, VFPv3, 256KB L2 cache<br/>　　Mali400, OpenGL ES GPU<br/>　　512M/1GB DDR3 @480MHz<br/>　　HDMI 1080p Output<br/>　　10/100M Ethernet<br/>　　4GB Nand Flash<br/>　　2 USB Host, 1 micro SD slot, 1 SATA, 1 ir<br/>　　96 extend pin including I2C, SPI, RGB/LVDS, CSI/TS, FM-IN, ADC, CVBS, VGA, SPDIF-OUT, R-TP..<br/>　　Running Android, Ubuntu and other Linux distributions<br/><br/>　　<a href="http://zyan.cc/attachment/201303/cu1.jpg" target="_blank"><img src="http://zyan.cc/attachment/201303/cu1.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　<a href="http://zyan.cc/attachment/201303/cu2.jpg" target="_blank"><img src="http://zyan.cc/attachment/201303/cu2.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　找了台支持HDMI的显示器，安装了Ubuntu Linaro，然后很方便的安装了SSH Server、VNC Server、Nginx、PHP 5.3、MySQL 5.5：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">apt-get install openssh-server<br/>apt-get install vnc-server<br/>apt-get install mysql-server mysql-client<br/>apt-get install nginx<br/>apt-get install php5-fpm<br/>apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl</div><br/><br/>　　C/C++的开发环境安装：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">apt-get install gcc<br/>apt-get install g++<br/>apt-get install cmake<br/>apt-get install make</div><br/><br/>............<br/><br/>Tags - <a href="http://zyan.cc/tags/cubieboard/" rel="tag">cubieboard</a> , <a href="http://zyan.cc/tags/%25E4%25B8%25BB%25E6%259C%25BA/" rel="tag">主机</a> , <a href="http://zyan.cc/tags/%25E6%259C%258D%25E5%258A%25A1%25E5%2599%25A8/" rel="tag">服务器</a> , <a href="http://zyan.cc/tags/%25E8%2581%2594%25E9%2580%259A/" rel="tag">联通</a> , <a href="http://zyan.cc/tags/adsl/" rel="tag">adsl</a> , <a href="http://zyan.cc/tags/%25E8%258A%25B1%25E7%2594%259F%25E5%25A3%25B3/" rel="tag">花生壳</a> , <a href="http://zyan.cc/tags/dnspod/" rel="tag">dnspod</a> , <a href="http://zyan.cc/tags/ddns/" rel="tag">ddns</a> , <a href="http://zyan.cc/tags/%25E5%258A%25A8%25E6%2580%2581%25E5%259F%259F%25E5%2590%258D/" rel="tag">动态域名</a>
]]>
</description>
</item><item>
<link>http://zyan.cc/xcode_svn/</link>
<title><![CDATA[iOS XCode 多人共享开发 SVN 配置需要做的小设置]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[移动互联网与手机]]></category>
<pubDate>Thu, 13 Dec 2012 05:04:27 +0000</pubDate> 
<guid>http://zyan.cc/xcode_svn/</guid> 
<description>
<![CDATA[ 
	　　UserInterfaceState.xcuserstate 文件频繁更新，*.a等静态链接库文件默认不被添加到 SVN 中，需要对自己 Mac OS 上的 SVN 客户端配置做一下修改。<br/><br/>　　进入终端：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">vi ~/.subversion/config</div><br/>　　查找 [miscellany] 字段<br/><br/>　　在默认被注释的&nbsp;&nbsp;global-ignores 下一行，增加一行：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">global-ignores = *~ #*# .#* .*.swp .DS_Store .xcuserstate</div><br/>Tags - <a href="http://zyan.cc/tags/ios/" rel="tag">ios</a> , <a href="http://zyan.cc/tags/xcode/" rel="tag">xcode</a> , <a href="http://zyan.cc/tags/svn/" rel="tag">svn</a> , <a href="http://zyan.cc/tags/userinterfacestate/" rel="tag">userinterfacestate</a> , <a href="http://zyan.cc/tags/xcuserstate/" rel="tag">xcuserstate</a>
]]>
</description>
</item><item>
<link>http://zyan.cc/post/482/</link>
<title><![CDATA[苏州，梦想之城]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[心情随笔]]></category>
<pubDate>Mon, 22 Oct 2012 15:59:29 +0000</pubDate> 
<guid>http://zyan.cc/post/482/</guid> 
<description>
<![CDATA[ 
	　　2012年10月22日.......<br/><br/>　　7:00，北京，一座城，车水马龙，熙熙攘攘。北京南站，晨光初现。带上我在LAMP兄弟连招聘的五位兄弟，坐上高铁，一路向南。<br/>　　<a href="http://zyan.cc/attachment/201210/1.jpg" target="_blank"><img src="http://zyan.cc/attachment/201210/1.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>　　13:00，苏州，一座城，江南烟雨，清风拂面。<br/>　　<a href="http://zyan.cc/attachment/201210/2.jpg" target="_blank"><img src="http://zyan.cc/attachment/201210/2.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><hr/><br/>　　14:30，独墅湖旁，创意产业园，我们的苏州研发公司，今日在此组建、诞生。<br/>　　<a href="http://zyan.cc/attachment/201210/3.jpg" target="_blank"><img src="http://zyan.cc/attachment/201210/3.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>............<br/>
]]>
</description>
</item><item>
<link>http://zyan.cc/webkit-touch-callout/</link>
<title><![CDATA[禁用 UIWebView 里面的链接长按弹出效果]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[移动互联网与手机]]></category>
<pubDate>Mon, 24 Sep 2012 11:14:43 +0000</pubDate> 
<guid>http://zyan.cc/webkit-touch-callout/</guid> 
<description>
<![CDATA[ 
	　　苹果一直拒绝 UIWebView 内嵌 HTML5 页面的 iPhone、iPad APP应用上架到 App Store，建议这样的APP去做成Safari的Web应用。但是，苹果的审核人员只从界面、URL去判断是否HTML5的。有一次，一个 APP应用的URL地址被他们拷贝出来，放到浏览器中能够访问，然后，应用悲催地被拒绝上架了。<br/><br/>　　对付方法：<br/><br/>　　1、URL不让直接通过浏览器访问（UIWebView的请求Header头中加点东西，在服务器端将APP内嵌的访问和通过直接浏览器访问区分开来），或者通过浏览器访问时，返回JSON、XML信息，输出“Interface Error”，忽悠苹果审核人员说这是HTTP协议的接口，不是网页。<br/><br/>　　2、禁用、禁止 UIWebView 里面的链接长按弹出效果。加入一行 CSS 代码，禁用类似下图的链接长按弹出效果：<br/><div style="border-left: 0px dashed #D6C094; margin: 5px; padding: 3px; margin-bottom:0px; border: 1px dashed #00a0c6; background-color: #ffffff;">html,body&#123;-webkit-touch-callout: none;&#125;</div><br/>　　<a href="http://zyan.cc/attachment/201209/touch-callout.jpg" target="_blank"><img src="http://zyan.cc/attachment/201209/touch-callout.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>Tags - <a href="http://zyan.cc/tags/webkit/" rel="tag">webkit</a> , <a href="http://zyan.cc/tags/touch/" rel="tag">touch</a> , <a href="http://zyan.cc/tags/callout/" rel="tag">callout</a> , <a href="http://zyan.cc/tags/iphone/" rel="tag">iphone</a> , <a href="http://zyan.cc/tags/ipad/" rel="tag">ipad</a> , <a href="http://zyan.cc/tags/ios/" rel="tag">ios</a> , <a href="http://zyan.cc/tags/uiwebview/" rel="tag">uiwebview</a> , <a href="http://zyan.cc/tags/html5/" rel="tag">html5</a>
]]>
</description>
</item>
</channel>
</rss>