PHP升级注意问题

先看下当前PHP.ini 中是否有新增加的extention  什么redis.so memcached.so 各种,在装的时候可以加上对应的组件,也可以后装。

还有就是php-fpm 的配置项 升级PHP会把这些改成默认的,假如改了的话就得再修改过来

有关xml特殊字符BS的一些问题

Input is not proper UTF-8, indicate encoding !

是不是用的chrome 换safiri 试试  没问题

其实最好的方法是 使用  xmlcopyeditor  放进去会提示有问题  invalid token

你会发现 有一个 特殊字符  bs

 

好吧  替换掉 就OK了

其实这是个ascii码

ascii

其实 是个退格键,很有可能是word什么导致的,暂不详

Unknown: open_basedir restriction in effect

2016/04/19 17:59:23 [error] 129616#0: *664356635 FastCGI sent in stderr: “PHP message: PHP Warning: Unknown: open_basedir restriction in effect. File(/data/wwwroot/xxx.com/index.php) is not within the allowed path(s): (/home/wwwroot/xxx.com/:/tmp/) in Unknown on line 0″ while reading response header from upstream, client: 118.186.2.178, server: xxx.com, request: “GET / HTTP/1.1″, upstream: “fastcgi://unix:/tmp/php-cgi.sock:”, host: “xxx.com”

 

最终在php.ini 中有个设置 open_basedir
[HOST=cuke.vmovier.com]
open_basedir=/home/wwwroot/xxx.com/:/tmp/

 

 

官方注释:

open_basedir string

将 PHP 所能打开的文件限制在指定的目录树,包括文件本身。本指令不受安全模式打开或者关闭的影响。

当一个脚本试图用例如 fopen() 或者 gzopen() 打开一个文件时,该文件的位置将被检查。当文件在指定的目录树之外时 PHP 将拒绝打开它。所有的符号连接都会被解析,所以不可能通过符号连接来避开此限制。

特殊值 . 指明脚本的工作目录将被作为基准目录。但这有些危险,因为脚本的工作目录可以轻易被 chdir() 而改变。

httpd.conf 文件中中,open_basedir 可以像其它任何配置选项一样用“php_admin_value open_basedir none”的方法关闭(例如某些虚拟主机中)。

在 Windows 中,用分号分隔目录。在任何其它系统中用冒号分隔目录。作为 Apache 模块时,父目录中的 open_basedir 路径自动被继承。

用 open_basedir 指定的限制实际上是前缀,不是目录名。也就是说“open_basedir = /dir/incl”也会允许访问“/dir/include”和“/dir/incls”,如果它们存在的话。如果要将访问限制在仅为指定的目录,用斜线结束路径名。例如:“open_basedir = /dir/incl/”。

Note:

支持多个目录是 3.0.7 加入的。

默认是允许打开所有文件。

 

 

记录一次 特殊的 nginx No input file specified

公司建了个wp的博客,想改域名,从.com改到.cc  在nginx中将对应的配置修改了,提示 No input file specified ,改回原来的目录就没问题,不知道什么情况,从网上找了些东西,试了各种方法,没什么效果(可能对你有些帮助)

最后对比了下两个文件夹下的文件,感觉 有个叫 .user.ini 的东西有点嫌疑,最后发现就是这个东西的问题,这是个啥子东西呢?

官方文档是这么说的:

自 PHP 5.3.0 起,PHP 支持基于每个目录的 .htaccess 风格的 INI 文件

http://php.net/manual/zh/configuration.file.per-user.php

 

文件中的配置是这样的:

open_basedir=/home/wwwroot/xxx.com:/tmp/:/proc/

心想,把这个改成xxx.cc不就可以了

修改的时候出问题了,没权限,我去 ,我可是牛B的root啊(虽然用root帐号不好),最后从网上找了些东西,看了下这个文章 http://www.ha97.com/5172.html 解决了,下面是cp过来的一些详细解释,如果你想往下看的话,不想看就是这么操作的:

 

#去除锁定
chattr -i .user.ini
#修改文件
vi .user.ini
#加锁
chattr +i .user.ini

 

下面有些理论的解释,可以看看

 

PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了。chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux系统都是2.6以上内核了。通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。

这两个命令是用来查看和改变文件、目录属性的,与chmod这个命令相比,chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的。

chattr命令的用法:chattr [ -RVf ] [ -v version ] [ mode ] files…
最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的
属性。

+ :在原有参数设定基础上,追加参数。
- :在原有参数设定基础上,移除参数。
= :更新为指定参数设定。
A:文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。
S:硬盘I/O同步选项,功能类似sync。
a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。
c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
d:即no dump,设定文件不能成为dump程序的备份目标。
i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。
j:即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。
s:保密性地删除文件或目录,即硬盘空间被全部收回。
u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion。
各参数选项中常用到的是a和i。a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。

应用举例:

1、用chattr命令防止系统中某个关键文件被修改:
# chattr +i /etc/resolv.conf

然后用mv /etc/resolv.conf等命令操作于该文件,都是得到Operation not permitted 的结果。vim编辑该文件时会提示W10: Warning: Changing a readonly file错误。要想修改此文件就要把i属性去掉: chattr -i /etc/resolv.conf

# lsattr /etc/resolv.conf
会显示如下属性
----i-------- /etc/resolv.conf

2、让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
# chattr +a /var/log/messages

 

到这里了,推荐下一个自己的收藏夹站 https://top9.cc/

php创建真正的777权限的文件夹

最近的服务器环境不知道什么情况,runtime的Cache用户组由www:www变成了root:root,大爷的,暂时还没找到什么原因,这样就写入不进去了,看了下Cache目录755,www用户是other,所以就是r+x,没有w权限,去他大爷的,最后查了下虽然mkdir中的参数设置的是0777,但是由于umask问题导致只能创建到755,但是chmod却可以设置成777,但是mkdir文件夹时直接创建到了 Runtime/Cache/Home 在这里只有Home是777,前面的Cache还是755,所以在Cache创建时,先递归创建777的Cache目录,这样就有写的权限了。

  • mkdir 创建的文件夹受到umask影响,需要再chmod下
  • mkdir 可以递归创建目录,再chmod,只是最后的文件夹是777,前面的还是755,可递归创建/chmod

记录一次php slow log 的线上问题

早上刚刚看完大阅兵,中午吃个午饭,睡个小觉,突然一阵提醒来袭,刷刷刷,说服务器挂了,立马起来,看了下主要的业务,没问题啊,大爷的,真坑,当时看了下RDS,连接数上来了,

“show processlist”|wc -l

又看了下是什么导致的,丫的,一堆sleep,那就差不多是哪个php地方被堵死了,

还好以前开启的php-fpm 的slowlog

request_slowlog_timeout = 5
slowlog = /data/wwwlogs/today/php-slow.log

查了下,是跨域请求别人的服务导致的,其实我这边已经做了缓存,但是缓存过期后,就会直接去请求别人服务,别人服务一挂,那我这个也就傻逼了,那只好在我这边做个数据库缓存,定时去刷到数据库中,那样就不会有依赖了

好吧。。。

苦逼的程序员

php imagick 中文简介

 

 

imagick::adaptiveblurimage 向图像中添加 adaptive 模糊滤镜

imagick::adaptiveresizeimage 自适应调整图像数据依赖关系

imagick::adaptivesharpenimage自适应锐化图像

imagick::adaptivethresholdimage 基于范围的选择为每个像素的亮度

imagick::addimage 图像列表中添加新图像 imagick 对象.

imagick::addnoiseimage 给图像添加随机噪声

imagick::affinetransformimage变换图像

imagick::animateimages 动画图像或图像

imagick::annotateimage annotates 图像的文本

imagick::appendimages 追加一组图像

imagick::averageimages 平均一组图像

imagick::blackthresholdimage 强制所有的像素低于阈值分为黑色

imagick::blurimage 向图像中添加模糊滤镜

imagick::borderimage 四周带有边框的图像

imagick::charcoalimage模拟一个炭笔绘图

imagick::chopimage 删除图像和用到的区域

imagick::clear 清除所有 imagick 对象相关联的资源

imagick::clipImage 从 8bim profile clipimage 剪辑沿路径

imagick::clipPathImage 沿 clippathimage 剪辑命名路径从 8bim profile

imagick::clone 使 imagick 完全复制的对象

imagick::clutimage 替换图像中的颜色

imagick::coalesceimages 贡献一组图像

imagick::colorfloodfillimage 更改任何像素的颜色值相匹配的目标

imagick::colorizeimage 融合的填充颜色与图像

imagick::combineimages 将一个或多个图像合并成一个图像

imagick::commentimage 添加注释以您的图像

imagick::compareimagechannels 返回 date 对象中一个或多个图像

imagick::compareimagelayers 返回图像之间的最大亮度区域

imagick::compareimages 角落比较图像图像

imagick::compositeimage 复合图像拖到另一个

imagick::__constructimagick actionscript

imagick::contrastimage 改变图像的对比度

imagick::contraststretchimage 增强对比度彩色图像

imagick::convolveimage 向图像应用一个定制的卷积 kernel

imagick::cropimage 中提取区域的图像

imagick::cropthumbnailimage创建一个裁剪高级

imagick::current 当前返回对当前 imagick 对象

imagick::cyclecolormapimage鸟图像的色彩表

imagick::decipherimagedeciphers 图像

imagick::deconstructimages 返回某些像素的图像之间的差异

imagick::deleteimageartifact删除图像工件

imagick::deskewimage 从映像中删除波纹

imagick::despeckleimage 减少图像中的斑点噪音

imagick::destroy 销毁销毁此 imagick 对象

imagick::displayimage显示图像

imagick::displayimages 显示一个图像或图像序列.

imagick::distortimage 扭曲图像中的各种变形方法

imagick::stroke 对象的呈现上的 imagickdraw 对象当前图像

imagick::edgeimage 增强边缘在 image

imagick::embossimage 返回一个带有三个尺寸的灰度图像效果

imagick::encipherimageenciphers 图像

imagick::enhanceimage 可以提高一个情景图像的质量

imagick::equalizeimageequalizes 图像直方图

imagick::evaluateimage 应用图像的表达式

imagick::exportimagepixels将原始图像像素

imagick::extentimage设置图像大小

imagick::flattenimages 合并图像序列的

imagick::flipimage 创建垂直镜像

imagick::floodfillpaintimage 更改任何像素的颜色值相匹配的目标

imagick::flopimage 创建水平镜像

imagick::frameimage 添加一个模拟特性的边框.

imagick::functionimage 在图像上应用了一个函数

imagick::fximage 评估表达式的每个像素在图像

imagick::gammaimagegamma 校正图像

imagick::gaussianblurimage调整

imagick::getcolorspace获取或设置与 colorspace

imagick::getcompression 压缩获取该对象.

imagick::getcompressionquality 获取对象的压缩质量

imagick::getcopyright 返回 imagemagick api 的版权为一个字符串.

imagick::getfolder 所指定的文件名相关联的图像序列

imagick::getfont获取字体

imagick::getFormat 只返回 imagick 对象的格式.

imagick::getgravity获取或设置 gravity

imagick::gethomeurl 返回 imagemagick 首页 url

imagick::getimage 返回一个新 imagick 对象

imagick::getimagealphachannel 获取图像的 alpha 通道

imagick::getimageartifact获取图像的工件

imagick::getimagebackgroundcolor 返回图像的背景颜色.

imagick::getimageblob 返回序列作为 blob

imagick::getimageblueprimary 返回 chromaticy 蓝色主点

imagick::getimagebordercolor 返回图像的边框颜色.

imagick::getimagechanneldepth 获取为特定图像深度通道

imagick::getimagechanneldistortion 角落比较图像图像通道的图像

imagick::getimagechanneldistortions获取通道 distortions

imagick::getImageChannelExtrema 输入 extrema getimagechannelextrema 获取图像的一个或多个通道

imagick::getimagechannelkurtosisgetimagechannelkurtosis 目的

imagick::getimagechannelmean 获取平均值和标准偏差

imagick::getimagechannelrange获取通道区域

imagick::getimagechannelstatistics 返回统计每个通道的图像

imagick::getimageclipmask获取图像剪辑遮罩

imagick::getimagecolormapcolor 返回指定色彩表索引的颜色.

imagick::getimagecolors 获取图像中的唯一的颜色数

imagick::getimagecolorspace获取或设置图像的 colorspace

imagick::getimagecompose 返回复合运算符的图像关联的

imagick::getimagecompression 获取当前图像的压缩类型

imagick::getimagecompressionquality 获取当前图像的压缩质量

imagick::getimagedelay获取或设置图像延迟

imagick::getimagedepth获取或设置图像深度

imagick::getimagedispose 获取图像的处理方法

imagick::getimagedistortion 角落比较图像图像

imagick::getimageextrema 获取图像的”extrema

imagick::getimagefilename 返回序列中的特定图像的文件名

imagick::getimageformat 返回序列中的特定图像的格式

imagick::getimagegamma获取或设置图像的 gamma

imagick::getimagegeometry 获取作为关联数组的宽度和高度

imagick::getimagegravity获取或设置图像的态

imagick::getimagegreenprimary 返回 chromaticy 绿色主点

imagick::getimageheight返回图像的高度

imagick::getimagehistogram获取或设置图像直方图

imagick::getimageindex 获取当前活动图像的索引.

imagick::getimageinterlacescheme 获取非方形像素图像方案

imagick::getimageinterpolatemethod返回指定插值方法

imagick::getimageiterations获取或设置图像的迭代

imagick::getimagelength 返回图像的字节长度

imagick::getimagemagicklicense 返回一个字符串,该字符串包含 imagemagick 的许可证

imagick::getimagematte 如果图像有一个 matte channel getimagematte 返回

imagick::getimagemattecolor 返回 image matte 颜色.

imagick::getimageorientation获取或设置图像的方向

imagick::getimagepage返回页面几何

imagick::getimagepixelcolor 返回指定像素的颜色

imagick::getimageprofile 返回命名图像

imagick::getimageprofiles返回图像概要

imagick::getimageproperties返回指定的图像属性

imagick::getimageproperty 返回命名图像属性

imagick::getimageredprimary 返回 chromaticity 红色主点

imagick::getimageregion 中提取区域的图像

imagick::getimagerenderingintent 获取图像渲染方法

imagick::getimageresolution 获取图像的x和y分辨率

imagick::getimagesblob 返回所有图片序列作为 blob

imagick::getimagescene获取或设置图像的场景

imagick::getimagesignature 生成一个 sha 256 message digest

imagick::getimagesize ()返回的字节长度

imagick::getimagetickspersecond获取或设置图像每秒 ticks

imagick::getimagetotalinkdensity 获取图像的总油墨浓度

imagick::getimagetype 获取潜在的图像类型

imagick::getimageunits 获取图像的分辨率

imagick::getimagevirtualpixelmethod 虚拟像素方法返回

imagick::getimagewhitepoint 返回 chromaticity 白色点

imagick::getimagewidth返回指定图像宽度

imagick::getinterlacescheme 获取的对象的非方形像素方案

imagick::getiteratorindex 获取当前活动图像的索引.

imagick::getnumberimages 返回的对象中的图像

imagick::getoption ()返回一个值与指定键相关联的

imagick::getpackagename 返回 imagemagick 包名称

imagick::getpage返回页面几何

imagick::getpixeliterator返回一个 magickpixeliterator

imagick::getPixelRegionIterator 获取图像的ImagickPixelIterator

imagick::getpointsize获取的点大小

imagick::getquantumdepth获取或设置量程深度

imagick::getquantumrange 返回 imagick 量程范围

imagick::getreleasedate 返回 imagemagick 的发行日期

imagick::getResource 获得与指定返回指定的资源的使用状况.

imagick::getresourcelimit 返回指定的资源限制

imagick::getsamplingfactors 获取的水平和垂直采样系数

imagick::getsize 返回 imagick 对象相关联的

imagick::getsizeoffset返回的偏移

imagick::getversion 返回 imagemagick api 版本

imagick::haldclutimage 替换图像中的颜色

imagick::hasnextimage 检查对象具有有关图像

imagick::hasPreviousImage 如果对象有一个 haspreviousimage 检查前面的图像

imagick::identifyImage 一个图像并取得 identifyimage 标识属性

imagick::implodeImage 作为副本 implodeimage 新建一图像

imagick::importimagepixels导入图像像素

imagick::labelimage 向图像添加标签

imagick::levelimage 调整图像的级别

imagick::linearstretchimage 可对图像亮度与饱和度

imagick::liquidrescaleimage 动画图像或图像

imagick::magnifyImage 调整图像比例2X

imagick::mapimage 替换图像和最相近的颜色从一个图像的颜色.

imagick::mattefloodfillimage 更改颜色的透明度值

imagick::medianfilterimage应用了一个数字滤波器

imagick::mergeimagelayers合并图像的图层

imagick::minifyimage 缩放图像以它的大小的一半

imagick::modulateimage 亮度、饱和度和色调控制

imagick::montageimage创建复合图像

imagick::morphimages 方法 morphs 一组图像

imagick::mosaicimages 股份从图像马赛克

imagick::motionblurimage模拟运动模糊

imagick::negateimage 如何处理主键参照图像中的颜色

imagick::newimage新建一图像

imagick::newpseudoimage新建一图像

imagick::nextimage 移至上一图像

imagick::normalizeimage 增强对比度彩色图像

imagick::oilpaintimage模拟一个油画

imagick::opaquepaintimage 更改任何像素的颜色值相匹配的目标

imagick::optimizeimagelayers 删除重复的图像部分进行优化.

imagick::orderedposterizeimage执行顺序抖动

imagick::paintfloodfillimage 更改任何像素的颜色值相匹配的目标

imagick::paintopaqueimage 更改颜色相匹配的任何像素

imagick::painttransparentimage 用指定的颜色填充匹配的像素颜色

imagick::pingImage 取得图像的基本属性

imagick::pingimageblob快速提取属性

imagick::pingimagefile 获得基本图像属性中的轻量的方式

imagick::polaroidimage模拟 polaroid 图片

imagick::posterizeimage 可以减少图像有限数目的颜色级别

imagick::previewImages 快速 previewimages 针点相应参数的图像和视频处理

imagick::previousimage 移到下一图像中的对象

imagick::profileimage 从图像中添加或删除档案

imagick::quantizeimage 分析参考一个图像中的颜色

imagick::quantizeimages 分析一序列的图像中的颜色

imagick::queryfontmetrics 返回数组表示字体度量

imagick::queryfonts返回配置字体

imagick::queryformats imagick 返回格式支持

imagick::radialblurimage精致式调整

imagick::raiseimage 创建一个模拟的三维按钮效果

imagick::randomthresholdimage 创建一个高对比度,两色图像

imagick::readimage从文件名中读取图像

imagick::readimageblob 读取图像从一个二进制字符串

imagick::readimagefile 读取图像从打开 filehandle

imagick::recolorimagerecolors 图像

imagick::reducenoiseimage smooths 的图像

imagick::remapimagerect 图像颜色

imagick::removeimage 删除从图像列表中的图像

imagick::removeimageprofile 删除命名图像并将其返回

imagick::render 渲染图形呈现所有前缀的命令

imagick::resampleimage 重采样图像所需的分辨率

imagick::resetimagepage复位图像页

imagick::resizeimage缩放图像

imagick::rollimage偏移图像

imagick::rotateimage旋转图像

imagick::roundcorners图像将角

imagick::sampleimage 缩放图像的像素取样

imagick::scaleimage 缩放图像的大小

imagick::segmentimage段中的图像

imagick::separateimagechannel 分开通道图像

imagick::sepiatoneimage棕褐色色调发出声音图像

imagick::setbackgroundcolor 设置对象的默认背景色

imagick::setcolorspace设置 colorspace

imagick::setcompression 设置对象的默认压缩类型

imagick::setcompressionquality 设置对象的默认压缩质量

imagick::setfilename 设置图像的文件名之前读取或写入

imagick::setfirstiterator 设置 valid imagick 图像

imagick::setfont设置字体

imagick::setformat imagick 设置格式的对象.

imagick::setgravity设置 gravity

imagick::setimage 替换图像中的对象

imagick::setimagealphachannel设置图像的 alpha 通道

imagick::setimageartifact设置图像的工件

imagick::setimagebackgroundcolor 图像设置背景颜色

imagick::setimagebias 设置的任何方法 convolves 图像的图像偏置

imagick::setimageblueprimary 设置图像 chromaticity 蓝色主点

imagick::setimagebordercolor 设置图像的边框颜色

imagick::setimagechanneldepth 设置特定图像的通道.

imagick::setimageclipmask设置图像剪辑遮罩

imagick::setimagecolormapcolor 设定指定的色彩表索引的颜色

imagick::setimagecolorspace设置图像的 colorspace

imagick::setimagecompose 设置图像的复合运算符

imagick::setimagecompression设置图像压缩

imagick::setimagecompressionquality 设置图像的压缩质量.

imagick::setimagedelay设置图像延迟

imagick::setimagedepth设置图像深度

imagick::setimagedispose 设置图像的处理方法

imagick::setimageextent设置图像尺寸

imagick::setimagefilename 设置特定图像的文件名

imagick::setimageformat 设置格式的特定的图像

imagick::setimagegamma设置图像的 gamma

imagick::setimagegravity设置图像的态

imagick::setimagegreenprimary 设置图像 chromaticity 绿色主点

imagick::setimageindex设置 iterator

imagick::setimageinterlacescheme设置图像压缩

imagick::setimageinterpolatemethod 设置图像插值像素的方法

imagick::setimageiterations设置图像的迭代.

imagick::setimagematte 设置 image matte channel

imagick::setimagemattecolor 设置 image matte 颜色

imagick::setimageopacity 设置图像=

imagick::setimageorientation设置图像的方向

imagick::setimagepage 设置图像的几何

imagick::setimageprofile 添加一个名为 profile imagick 对象

imagick::setimageproperty设置图像属性.

imagick::setimageredprimary 设置图像 chromaticity 红色主点

imagick::setimagerenderingintent 设置图像渲染方法.

imagick::setimageresolution设置图像分辨率

imagick::setimagescene设置图像的场景

imagick::setimagetickspersecond设置图像每秒 ticks

imagick::setimagetype设置图像类型

imagick::setimageunits 设置图像的分辨率

imagick::setimagevirtualpixelmethod 设置图像的像素的虚拟方法

imagick::setimagewhitepoint 设置 chromaticity 的图像

imagick::setinterlacescheme设置图像压缩

imagick::setiteratorindex设置 iterator

imagick::setlastiterator 设置 valid imagick 最后的图像

imagick::setoption设置一个选项

imagick::setpage 设置 imagick 的几何对象.

imagick::setpointsize设置点的大小

imagick::setresolution设置图像分辨率

imagick::setresourcelimit 设置以 mb 为单位的限制为特定的资源.

imagick::setsamplingfactors 设置图像采样的因素.

imagick::setsize 设置 imagick 对象的大小

imagick::setsizeoffset 设置相同的大小和偏移 imagick 对象

imagick::settype 设置属性的图像类型.

imagick::shadeimage创建三维效果

imagick::shadowimage模拟图像的阴影

imagick::sharpenimage增强图像

imagick::shaveimage shaves 从图像边缘的像素

imagick::shearimage创建一个平行四边形

imagick::sigmoidalcontrastimage 调整图像的对比度

imagick::sketchimage模拟一个素描

imagick::solarizeimage 给图像应用一个 solarizing 效果

imagick::sparsecolorimagepermut 颜色

imagick::spliceimage my 纯色到图像

imagick::spreadimage 随机鸟块中的每个像素

imagick::steganoimage 隐藏数字水印在 image

imagick::stereoimage组合两张图片

imagick::stripimage 停车图像的所有概要信息和注释

imagick::swirlimage 漩涡中心的像素的图像

imagick::textureImage 反复平铺纹理.

imagick::thresholdimage 改变单个像素的值基于一个阈值

imagick::thumbnailimage 段更改图像的大小

imagick::tintimage 颜色矢量图像中的每个像素

imagick::transformimage 设置裁剪尺寸图像对象的便捷方法

imagick::transparentpaintimage若要像素透明

imagick::transposeimage 创建垂直镜像

imagick::transverseimage 创建水平镜像

imagick::trimImage 去除图像边缘

imagick::uniqueimagecolors 丢弃任何像素的颜色

imagick::unsharpmaskimage 增强图像

imagick::valid 当前项是否有效

imagick::vignetteimage 给图像添加效果筛选器

imagick::waveimage 给图像应用波形的筛选

imagick::whitethresholdimage 强制所有像素等于阈值为白色

imagick::writeimage 将图像写入指定的 filename

imagick::writeimagefile 图像写入到一个 filehandle

imagick::writeimages 写入一个图像或图像序列.

imagick::writeimagesfile 写入帧 filehandle

imagickdraw 类

imagickdraw::affine 调整当前仿射转换矩阵

imagickdraw::annotation 在图像上绘制文字

imagickdraw::arc 绘制圆弧

imagickdraw::bezier 绘制 bezier 曲线

imagickdraw::circle 圆绘制一个圆

imagickdraw::clear 清除 imagickdraw

imagickdraw::clone 克隆使 imagickdraw 对象指定的精确副本.

imagickdraw::color 绘制图像上的颜色

imagickdraw::comment 添加注释

imagickdraw::composite 复合图像的贡献当前图像

imagickdraw::__constructimagickdraw actionscript

imagickdraw::destroy 销毁释放关联的所有资源

imagickdraw::ellipse 在图像上绘制一个椭圆

imagickdraw::getClipPath 当前剪辑路径 getclippath 获取 id

imagickdraw::getcliprule 返回当前多边形填充规则

imagickdraw::getclipunits 返回集合剪辑路径为单位

imagickdraw::getfillcolor返回指定填充的颜色

imagickdraw::getfillopacity 返回绘制时同时使用

imagickdraw::getfillrule返回指定填充规则

imagickdraw::getfont返回指定的字体

imagickdraw::getfontfamily返回指定的字体族

imagickdraw::getfontsize返回指定的字体 pointsize

imagickdraw::getfontstyle返回指定的字体样式

imagickdraw::getfontweight返回该字体的 weight

imagickdraw::getgravity 返回的位置 gravity

imagickdraw::getstrokeantialias 返回当前笔触对设置.

imagickdraw::getstrokecolor 返回的勾画轮廓对象所使用的颜色

imagickdraw::getstrokedasharray 返回数组表示虚线和间隙的图案用于勾画路径

imagickdraw::getstrokedashoffset 返回偏移到虚线图案以划线开始

imagickdraw::getstrokelinecap 描画后会返回用于打开网络访问可远程访问的注册表路径末尾的形状

imagickdraw::getstrokelinejoin 描画后会返回要使用的角的路径的形状

imagickdraw::getStrokeMiterLimit 笔划 getstrokemiterlimit 返回斜角限制

imagickdraw::getstrokeopacity 返回在描画对象的轮廓

imagickdraw::getstrokewidth 返回笔触的宽度用于绘制对象的轮廓

imagickdraw::gettextalignment返回文本对齐

imagickdraw::gettextantialias 返回当前文字对设置.

imagickdraw::gettextdecoration返回文本修饰

imagickdraw::gettextencoding 返回代码设定文本的注释

imagickdraw::gettextundercolor 返回的文本颜色.

imagickdraw::getvectorgraphics 返回一个字符串,该字符串包含矢量图形

imagickdraw::line 行画一条线.

imagickdraw::matte 若要在图像的 alpha 通道

imagickdraw::pathclose 路径添加一个元素到当前路径

imagickdraw::pathcurvetoabsolute 立方绘制 bezier 曲线

imagickdraw::pathcurvetoquadraticbezierabsolute 绘制二次 bezier 曲线

imagickdraw::pathcurvetoquadraticbezierrelative 绘制二次 bezier 曲线

imagickdraw::pathcurvetoquadraticbeziersmoothabsolute 绘制二次 bezier 曲线

imagickdraw::pathcurvetoquadraticbeziersmoothrelative 绘制二次 bezier 曲线

imagickdraw::pathcurvetorelative 立方绘制 bezier 曲线

imagickdraw::pathcurvetosmoothabsolute 立方绘制 bezier 曲线

imagickdraw::pathcurvetosmoothrelative 立方绘制 bezier 曲线

imagickdraw::pathellipticarcabsolute绘制一个椭圆形的弧

imagickdraw::pathellipticarcrelative绘制一个椭圆形的弧

imagickdraw::pathfinish终止当前路径

imagickdraw::pathlinetoabsolute绘制一条直线路径

imagickdraw::pathlinetohorizontalabsolute 水平直线绘制路径

imagickdraw::pathlinetohorizontalrelative绘制一条水平线.

imagickdraw::pathlinetorelative绘制一条直线路径

imagickdraw::pathlinetoverticalabsolute绘制一个垂直线条

imagickdraw::pathlinetoverticalrelative 绘制一个垂直线条路径

imagickdraw::pathmovetoabsolute开始一个新子路径

imagickdraw::pathmovetorelative 开始一个新子路径

imagickdraw::pathStart 声明的路径绘制列表

imagickdraw::point 绘制一个点

imagickdraw::polygon 多边形画一个多边形

imagickdraw::polyline 折线绘制折线

imagickdraw::pop 的代替当前 imagickdraw 堆栈中,并返回到以前推入 imagickdraw

imagickdraw::popclippath 终止一个剪辑路径定义

imagickdraw::popdefs终止一个定义列表中的

imagickdraw::poppattern终止图案定义

imagickdraw::push 克隆当前ImagickDraw并将它推到堆栈

imagickdraw::pushclippath 开始一个剪辑路径定义

imagickdraw::pushdefs 指示以下命令创建名为元素用于后期处理的

imagickdraw::pushpattern 表示后续命令达 imagickdraw::oppattern()命令包含一个命名的定义图案

imagickdraw::rectangle 绘制一个矩形

imagickdraw::render 渲染的呈现所有前面的绘图命令拖到图像

imagickdraw::rotate 应用指定的旋转以当前坐标空间

imagickdraw::roundrectangle绘制一个圆角矩形

imagickdraw::scale 比例调整比例系数

imagickdraw::setclippath 将一个名为剪裁路径与映像关联

imagickdraw::setcliprule 剪裁多边形填充规则使用的路径

imagickdraw::setclipunits 设定的解释剪辑路径

imagickdraw::setfillalpha 设置 alpha 使用填充颜色或填充图形时使用的纹理

imagickdraw::setfillcolor 设置用于绘制填充对象的填充颜色

imagickdraw::setfillopacity 设置 alpha 使用填充颜色或填充图形时使用的纹理

imagickdraw::setfillpatternurl 设置 url 用作填充图案填充对象

imagickdraw::setfillrule 设置填充规则使用在绘制多边形的步骤

imagickdraw::setFont 设置字体

imagickdraw::setfontfamily 设置时要使用的字体族使用文字注释

imagickdraw::setfontsize 设置时要使用的字体 pointsize 使用文字注释

imagickdraw::setfontstretch 设置时要使用的字体拉伸使用文字注释

imagickdraw::setfontstyle 设置时要使用的字体样式使用文字注释

imagickdraw::setfontweight设置该字体 weight

imagickdraw::setgravity 设置的位置 gravity

imagickdraw::setstrokealpha 指定要描画对象的轮廓

imagickdraw::setstrokeantialias 控制是否较高质量描画轮廓

imagickdraw::setstrokecolor 设置用于勾画对象的颜色了

imagickdraw::setstrokedasharray 指定虚线和间隙用于勾画路径的图案

imagickdraw::setstrokedashoffset 划线指定偏移到虚线图案来启动

imagickdraw::setstrokelinecap 描画后会打开网络访问可远程访问的注册表路径的末尾时,用于指定的形状.

imagickdraw::setstrokelinejoin 指定角的路径描画时要使用的形状.

imagickdraw::setstrokemiterlimit指定斜角限制

imagickdraw::setstrokeopacity 指定要描画对象的轮廓

imagickdraw::setstrokepatternurl 设置用于勾画对象填充图案

imagickdraw::setstrokewidth 笔触的宽度不用于绘制对象的轮廓

imagickdraw::settextalignment指定文字对齐

imagickdraw::settextantialias 较高质量控制文本是

imagickdraw::settextdecoration指定修饰

imagickdraw::settextencoding 指定指定的代码设置

imagickdraw::settextundercolor 指定矩形的背景颜色

imagickdraw::setvectorgraphics矢量图形设置

imagickdraw::setviewbox 整个画布大小设置

imagickdraw::skewx 该参数设置为”right”水平方向的当前坐标系的

imagickdraw::skewy 该参数设置为”right”当前在垂直方向坐标系统

imagickdraw::translate 应用一个翻译翻译到当前坐标系

imagickpixel 类

imagickpixel::clear 清除与该对象关联的资源

imagickpixel::__constructimagickpixel actionscript

imagickpixel::destroy deallocates 资源与该对象关联的

imagickpixel::getColor 代码中返回指定颜色

imagickpixel::getcolorasstring 作为字符串返回颜色.

imagickpixel::getcolorcount 返回此颜色的颜色相关联的计数

imagickpixel::getcolorvalue 获取颜色通道提供的标准化值.

imagickpixel::getHSL 标准化 hsl 颜色的 imagickpixel gethsl 返回对象

imagickpixel::issimilar 检查这个颜色之间的距离和另一

imagickpixel::setcolor设置颜色.

imagickpixel::setcolorvalue 标准化的值至少设置通道

imagickpixel::sethsl 标准化 hsl 颜色设置

imagickpixeliterator 类

imagickpixeliterator::clear 清除清除 pixeliterator 关联的资源

imagickpixeliterator::__constructimagickpixeliterator actionscript

imagickpixeliterator::destroy 销毁 deallocates pixeliterator 关联的资源

imagickpixeliterator::getcurrentiteratorrow 返回 imagickpixel 对象的当前行.

imagickpixeliterator::iterator getiteratorrow 返回当前像素的行

imagickpixeliterator::getnextiteratorrow 返回行的像素的 iterator

imagickpixeliterator::getpreviousiteratorrow返回请求的行

imagickpixeliterator::newpixeliterator 返回一个新像素 iterator

imagickpixeliterator::newpixelregioniterator 返回一个新像素 iterator

imagickpixeliterator::resetiterator将当前像素 iterator

imagickpixeliterator::setIteratorFirstRow 设置第一行的像素迭代器

app服务器迁移方案探究

 

方案1:两个域名服务器同时指向同一个mysql

方案2:使用302跳转

现实解决过程:

由于方案1云主机机房所在区问题,以及主机版本较老导致链接mysql比较慢,选择方案2 :302跳转。

在302跳转时发现问题:

302不支持post数据的后续跳转,header也不支持,其中将post转成get 但在post数据时与登陆状态的反馈有问题,还是直接选择方案1,将新的机子镜像成mysql主机,链接mysql测试速度较快,并针对app的访问量将新机子的php-fpm mysql配置进行修改,两个域名指向同一个mysql,测试通过。

数据导出到新数据库并修改为innodb时,出现大表修改引擎比较慢,修改方案:直接将小表alter,大表使用create table *** select * from a;再创建索引;

lnmp php5.5的memcache自动安装脚本

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

# Check if user is root
if [ $(id -u) != "0" ]; then
echo "Error: You must be root to run this script, please use root to install lnmp"
exit 1
fi

clear
printf "=======================================================================n"
printf "Install Memcached for LNMP V1.01 ,  Written by Licess n"
printf "=======================================================================n"
printf "LNMP is a tool to auto-compile & install Nginx+MySQL+PHP on Linux n"
printf "This script is a tool to install memcached for lnmp n"
printf "n"
printf "For more information please visit http://www.lnmp.org n"
printf "=======================================================================n"
cur_dir=$(pwd)

get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty cbreak
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
echo ""
echo "Press any key to start install Memcached..."
char=`get_char`

printf "=========================== install memcached ======================n"

if [ -s /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/memcache.so ]; then
rm -f /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/memcache.so
elif [ -s /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so ]; then
rm -f /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so
elif [ -s /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so ]; then
rm -f /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so
fi

cur_php_version=`/usr/local/php/bin/php -v`

if echo "$cur_php_version" | grep -q "5.2."
then
sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"nextension = "memcache.so"n#' /usr/local/php/etc/php.ini
elif echo "$cur_php_version" | grep -q "5.3."
then
sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"nextension = "memcache.so"n#' /usr/local/php/etc/php.ini
elif echo "$cur_php_version" | grep -q "5.4."
then
sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/"nextension = "memcache.so"n#' /usr/local/php/etc/php.ini
elif echo "$cur_php_version" | grep -q "5.5."
then
sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/"nextension = "memcache.so"n#' /usr/local/php/etc/php.ini
else
echo "Error: can't get php version!"
echo "Maybe your php was didn't install or php configuration file has errors.Please check."
sleep 3
exit 1
fi

echo "Install memcache php extension..."
wget -c http://soft.vpser.net/web/memcache/memcache-3.0.8.tgz
tar zxvf memcache-3.0.8.tgz
cd memcache-3.0.8/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
cd ../

wget -c http://soft.vpser.net/lib/libevent/libevent-2.0.13-stable.tar.gz
tar zxvf libevent-2.0.13-stable.tar.gz
cd libevent-2.0.13-stable/
./configure --prefix=/usr/local/libevent
make&& make install
cd ../

echo "/usr/local/libevent/lib/" >> /etc/ld.so.conf
ln -s /usr/local/libevent/lib/libevent-2.0.so.5  /lib/libevent-2.0.so.5
ldconfig

cd $cur_dir
echo "Install memcached..."
wget -c http://memcached.org/files/memcached-1.4.20.tar.gz
tar zxvf memcached-1.4.20.tar.gz
cd memcached-1.4.20/
./configure --prefix=/usr/local/memcached
make &&make install
cd ../

ln /usr/local/memcached/bin/memcached /usr/bin/memcached

cd $cur_dir
cp conf/memcached-init /etc/init.d/memcached
chmod +x /etc/init.d/memcached
useradd -s /sbin/nologin nobody

if [ ! -d /var/lock/subsys ]; then
mkdir -p /var/lock/subsys
fi

if [ -s /etc/debian_version ]; then
update-rc.d -f memcached defaults
elif [ -s /etc/redhat-release ]; then
chkconfig --level 345 memcached on
fi

echo "Copy Memcached PHP Test file..."
cp conf/memcached.php /home/wwwroot/default/memcached.php

if [ -s /etc/init.d/httpd ] && [ -s /usr/local/apache ]; then
echo "Restart Apache......"
/etc/init.d/httpd -k restart
else
echo "Restart php-fpm......"
/etc/init.d/php-fpm restart
fi

echo "Starting Memcached..."
/etc/init.d/memcached start

printf "===================== install Memcached completed =====================n"
printf "Install Memcached completed,enjoy it!n"
printf "You Can visit Memcached PHP Test file: http://ip/memcached.phpn"
printf "=======================================================================n"
printf "Install Memcached for LNMP V1.01 ,  Written by Licess n"
printf "=======================================================================n"
printf "LNMP is a tool to auto-compile & install Nginx+MySQL+PHP on Linux n"
printf "This script is a tool to install Memcached for lnmp n"
printf "n"
printf "For more information please visit http://www.lnmp.org n"
printf "=======================================================================n"