Wednesday, September 8, 2010
 

解决linux下安装ssl后,apache重启时需要密码

解决linux下安装ssl后,apache重启时需要密码的问题。
在帮客户购买的vps上面安装完SSL以后,每次启动apache时都需要输入密码,觉得维护起来非常的麻烦。
客户的vps是ubuntu Sever,其他linux服务器找到相关文件修改
编辑:ssl.conf ,
ubuntu下面的目录:
/etc/apache2/mods-available/ssl.conf
修改ssl.conf
# SSLPassPhraseDialog builtin
SSLPassPhraseDialog exec:/ect/apache2/key.sh

编辑:/ect/apache2/key.sh
!/bin/bash
echo ‘your pass phrase’
注意key.sh的权限755
重启服务器
问题解决

 

htaccess二级目录重写找不到路径

首先申明一下:使用.htaccess文件,会降低httpd服务器的一点性能.h
我们一般会把客户的网站放在自己的网站的目录下面,
比如FTP:/home/ftp/www,
有一个网站http://www.example.com,
那么新建一个网站的目录为http://www.example.com/newsite/,
我们这个项目是使用qeephp开发的,使用qeephp的路由重写功能,在把网站上传到服务器上,
使用了虚拟目录Alias,因为不想看到类似http://www.example.com/newsite/public/这样的路径,
于是外部访问地址是http://www.example.com/newsite,
在我启用了qeephp的rewrite时,一直说找不到路径,/home/ftp/www/newsite/,很奇怪。
仔细阅读htaccess的文档,发现有一个BaseDir参数
在htaccess 中添加

RewriteEngine on
RewriteBase /twosisters
 
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

问题就解决.
估计把index.php改成绝对路径也没有问题。

 

利用php创建打印文字动画效果

利用php创建打印文字动画效果

用php+imagick+imagemagick实现的代码如下,在ubuntu下如何安装使用imagick+imagemagick,可以看这篇文章,其他操作系统请google相关文章

效果图片如下:

anti-print

源代码:

< ?php
/**
* 打印机打印效果
* @ param $text String 需要打印的文字
* @ param $color color|#16进制颜色 
* @ param $fontsize int 字体大小
**/
 
function gif_print($text,$color='red',$fontsize = 40)
{
    $ani = new Imagick();
    $ani->setFormat('gif');
    $textcolor = new ImagickPixel($color);
    $bgcolor = new ImagickPixel('white');
 
    //定义画笔
    $draw = new ImagickDraw();
    $draw->setFontSize($fontsize);
    $draw->setFillColor($textcolor);
    $draw->setGravity(imagick::GRAVITY_WEST);
 
    //获取画笔写字的属性
    $fontprop = $ani->queryFontMetrics($draw,$text);
    $width = (int)$fontprop['textWidth'] + 8;
    $height = (int)$fontprop['textHeight']  ;
 
    //创建打印机的待机效果
 
    $ani->newImage($width,$height,$bgcolor);
    $draw->line(3,8,3,$height);
    $ani->drawimage($draw);
    $ani->setImageDelay(30);
    $ani->newImage($width,$height,$bgcolor);
    $ani->setImageDelay(30);
    $ani->newImage($width,$height,$bgcolor);
 
    $ani->drawimage($draw);
    $ani->setImageDelay(30);
 
    $textstrlen = strlen($text);
 
    //创建打印机打印效果
    for($i = 0;$i < = $textstrlen;$i++)
    {
        $single = substr($text,0,$i);
        $ani->newImage($width,$height,$bgcolor);
        $ani->setGravity(imagick::GRAVITY_WEST);
        $ani->annotateImage($draw,0,0,0,$single);
        $ani->setImageDelay(20);
    }
 
    header("Content-Type:image/gif");
    echo $ani->getImagesBlob();
}
gif_print('Welcome to Paitoubing.cn','blue',30);
 

利用php创建水中倒影的图片效果

在前面给大家介绍了imagick在ubuntu下的基本安装,及简单的处理图片,今天尝试使用imgaick来创建水中倒影的效果.
reflectionphp

< ?php
/**
 * reflection 
 * 
*/
 
function reflection($image){
	/* 读取原图片 */
	$im = new Imagick($image);
 
	/* 创建缩图 */
	$im->thumbnailImage( 200, null );
 
	/*加边框 */
	$im->borderImage( "white", 5, 5 );
 
	/* 克隆并创建镜像图片 */
	$reflection = $im->clone();
	$reflection->flipImage();
 
	/* 创建一个滤镜效果,合成 */
	$gradient = new Imagick();
 
	$gradient->newPseudoImage( $reflection->getImageWidth() + 10,
	                           $reflection->getImageHeight() + 10,
	                           "gradient:transparent-black"
	                        );
 
	/*合成 */
	$reflection->compositeImage( $gradient, imagick::COMPOSITE_OVER, 0, 0 );
 
	/* 设置透明度*/
	$reflection->setImageOpacity( 0.3 );
 
	/* 创建一个空白背景图层,足够大 */
	$canvas = new Imagick();
	$width = $im->getImageWidth() + 40;
	$height = ( $im->getImageHeight() * 2 ) + 30;
	$canvas->newImage( $width, $height, "black", "png" );
 
	/* 合成最终效果图*/
	$canvas->compositeImage( $im, imagick::COMPOSITE_OVER, 20, 10 );
	$canvas->compositeImage( $reflection, imagick::COMPOSITE_OVER,
	                        20, $im->getImageHeight() + 10 );
 
	/* 输出图片*/
	header( "Content-Type: image/png" );
	echo $canvas;
}
reflection('me.jpg');
?>
 

PHP的EMail联系人提取程序

最近这2天写了一个抓取邮箱联系人的类库,好久没有使用php_curl了,这次算是重新熟悉的过程吧,
非常不幸的是程序完成的时候,在ubuntu下面使用上传工具,在FTP客户端里面把本地机器上的程序删掉了。
哎,非常的尴尬,晚上加了一个小时的班,重新写了yahoo的类库,看来程序的备份是相当的重要呀。
程序说明:

  • 最近开发国外的一个sns程序,需要涉及邀请好友
  • 程序需要在PHP5下运行,主要依赖php-curl库
  • 开发环境ubuntu + vim
  • 支持如下的国外免费邮箱:
    • live.com
    • hotmail.com
    • msn.com
    • yahoo.com
    • yahoo.com.cn
    • gmail.com

测试地址:http://www.telligem.com/test/factoryaddressmail/fetchmailaddress.php

 
 
About This Website

Lamp development & SEO & Plan of Website & Project Managment

Learn more »
Follow Us (SNS)
Help & Support

more about Bruce.xu»

Get in touch

QQ: +252339382
Email: shjuto @ gmail.com

Online contact form »