知识点:
全局唯一标识符Globally Unique Identifier简称GUID, 也称作UUID(Universally Unique IDentifier) ,主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。
GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,以5个组显示,由连字符分隔,格式为8-4-4-4-12(“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”),共36个字符(32个字母数字字符和4个连字符),其中每个 x 是 0-9 或 a-f 范围内的一个32位十六进制数。
在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2^128(3.4×10^38)个,虽然随机生成相同的GUID的概率不为零,但它足够接近零而可以忽略不计。为保证不生成重复的GUID,一般用于生成GUID的算法通常都加入了非随机的参数,以保证这种重复的情况不会发生。
GUID版本1是根据时间和节点ID(通常是MAC地址)生成;版本2 由标识符(通 ...
Composer 是 PHP 的一个软件包依赖管理工具。PHP 开发人员可能每天都在频繁运行它的命令require, install 和 update。除此之外还有一些其他的 Composer 命令常用。
Composer 的安装
curl -LsS https://getcomposer.org/installer -o composer-setup.php
php composer-setup.php
show
等价于info,查看项目中所有已安装的软件包(包括依赖项),以及查看软件包的说明,所有这些信息都可以在文件composer.lock中找到。
1. 使用依赖关系树的形式查看
composer show -t
2. 筛选查看指定的软件包
composer show ‘symfony/*’
why
是depends的别名,用来确定哪些软件包需要指定的软件包。
composer why twig/twig
why-not
是prohibits的别名,用来检查是哪些软件包将阻止安装或更新软件包。
composer why-not symfony/yaml
outdated
等价于 composer show -l,在使用 composer update 升级软件包以前检测已安装的软件 ...
背景
eAccelerator 是一个免费开源的PHP加速、优化、编译和动态缓存的项目,它可以通过缓存PHP代码编译后的结果来提高PHP脚本的性能。通过使用eAccelerator,可以优化PHP代码执行速度,降低服务器负载,使PHP应用执行速度提高1-10倍。
eAccelerator 项目诞生于2004年,当时它是作为 Turck MMCache 项目的一个分支提出并投入开发的。 Turck MMCache 由 Dmitry Stogov 开发,是个非常优秀的PHP内存缓存加速系统,如今仍然有很大部分 eAccelerator 的代码应用到该项目中。
原理
eAccelerator 通过把经过编译后的PHP代码缓存到共享内存中,并在用户访问的时候直接调用从而起到高效的加速作用。它的效率非常高,从创建共享内存到查找编译后的代码都在非常短的时间内完成,对于不能缓存到共享内存中的文件和代码,eAccelerator还可以把他们缓存到系统磁盘上。
安装:
wget http://bart.eaccelerator.net/source/0.9.6.1/eaccel ...
php 5.3.3 源码中开始包含 php-fpm,不用专门再打补丁了,只需要解开源码直接configure,关于php-fpm的编译参数有 –enable-fpm –with-fpm-user=www –with-fpm-group=www –with-libevent-dir=libevent位置。
这个php-fpm 不再支持 php-fpm 补丁具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制:
master进程可以理解以下信号
SIGINT, SIGTERM 立刻终止
SIGQUIT 平滑终止
SIGUSR1 重新打开日志文件
SIGUSR2 平滑重载所有worker进程并重新载入配置和二进制模块
示例:
php-fpm 关闭:
kill -SIGINT `cat /usr/local/php/var/run/php-fpm.pid`
php-fpm 重启:
kill -SIGUSR2 `cat /usr/local/php/var/run/php-fpm.pid`
其次配置文件不再使用的xml 格式,改为了INI,但是配置参数几乎和以前一样,可参照xml格式的格式配置。
—————-补充内容——— ...
< ?php
/**
* Google翻译的API
*/
class Google_translate_API
{
public $out = "";
public $text = "";
public $opts = array("text" => "", "language_pair" => "");
function setValues($text,$fromLanguage,$toLanguage)
{
if($text != "")
$this->opts["text"] = $text;
if($fromLanguage != "" && $toLanguage != "")
$this->opts["language_pair"] = $fromLanguage."|".$toLanguage;
}
function translate()
{
$this->out = "";
if (strlen($this->opts['text']) > 500)
{
$str1 = cSubStr($this->opts['text'],0,480);
$str2 = cSubStr($this->opts['text'],480,(strlen($this->opts['text']-480)));
$google_translator_url1 = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=".urlencode($str1)."&langpair=".urlenco ...