将httpd/apache设为自启动 httpd 服务不支持 chkconfig

将apache添加为开机启动有两个方法:
1、在/etc/rc.d/rc.local内加入启动命令 /usr/local/apache2/bin/apachectl start
2、将http添加为系统服务
cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
chmod +x /etc/rc.d/init.d/httpd

chkconfig --add httpd

chkconfig --list|grep httpd

httpd 服务不支持 chkconfig
vi /etc/rc.d/init.d/httpd

添加

#!/bin/bash
#chkconfig:345 61 61   //此行的345参数表示,在哪些运行级别启动,启动序号(S61);关闭序号(K61)
#description:Apache httpd   //此行必写,描述服务.

linux中升级python版本

不建议直接覆盖升级系统python版本。服务器默认版本为2.6.6,升级到2.7.14
cd /usr/local/src
wget http://www.python.org/ftp/python/2.7.3/Python-2.7.14.tgz
tar -zxvf Python-2.7.3.tgz
cd Python-2.7.14
mkdir /usr/local/python27
./configure --prefix=/usr/local/python27
make && make install
此处直接将新版本定义为python27
如需定义为python则拷贝旧python并修改对应/usr/bin/yum为对应旧版本python
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python27

站群外推方法与技巧

站群,即一个人或一个团队操作多个网站,目的是通过搜索引擎获得大量流量,或者是将链接指向同一个网站,以提高搜索排名。由此我们可以将站群理解为一群网站,或者是一网站的集合,网站规模少则几个,多则上千过万。比如政府门户网站群、大型企事业网站群、行业网站群等。

640.jpg

- 阅读剩余部分 -

PHP修改PNG图片DPI

来源:http://www.codeweblog.com/php%E4%BF%AE%E6%94%B9png%E5%9B%BE%E7%89%87dpi/
最近使用PHP生成图片用于打印,但是浏览器默认输出为72DPI,打印要求为300DPI,如果直接打印,图片会比较模糊。
在网上找了一圈,大部分链接都指向ImageMagick,但是我的项目部署在新浪SAE,新浪SAE不支持它。继续找,发现了《PHP 使用GD函式庫更改圖片DPI》这篇文章,提供了修改JPG图片分辨率的方法,亲测可行。但是我的项目必须使用PNG图片,因为用的是透明背景,所以上面的方法还不行,但是可以参考思路。后来又找到了另外一篇文章《PHP: Dpi of a png image》,这篇文章提供了获取PNG图片分辨率的方法,遗憾的是作者并没有给出设置分辨率的方法。
最后,被逼无奈,硬着头皮自己写啦,挣扎一番终于成功了。这是我写的测试例子:

<?php
$filename = 'img/example.png';
// ob_start();
// $im = imagecreatefrompng($filename);
// imagepng($im);
// $file = ob_get_contents();
// ob_end_clean();
$file = file_get_contents($filename);

//数据块长度为9
$len = pack("N", 9);
//数据块类型标志为pHYs
$sign = pack("A*", "pHYs");
//X方向和Y方向的分辨率均为300DPI(1像素/英寸=39.37像素/米),单位为米(0为未知,1为米)
$data = pack("NNC", 300 * 39.37, 300 * 39.37, 0x01);
//CRC检验码由数据块符号和数据域计算得到
$checksum = pack("N", crc32($sign . $data));
$phys = $len . $sign . $data . $checksum;

$pos = strpos($file, "pHYs");
if ($pos > 0) {
    //修改pHYs数据块
    $file = substr_replace($file, $phys, $pos - 4, 21);
} else {
    //IHDR结束位置(PNG头固定长度为8,IHDR固定长度为25)
    $pos = 33;
    //将pHYs数据块插入到IHDR之后
    $file = substr_replace($file, $phys, $pos, 0);
}

header("Content-type: image/png");
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
echo $file;
?>

这篇文章应该也可以作为《各位兄弟姐妹,php 怎么可以生成一张300分辨率的图片,谢谢》的一个答案。
本文参考的其他资料:
《W3C PNG Specification》
《png文件的数据结构》
《分析PNG图像文件结构(3)》
在网上搜索的过程中还遇到了一些有用的资料,也放在这里吧:
《JavaScript修改Canvas图片的分辨率(DPI)》
《PNG设置分辨率》(使用了Linux函数png_set_pHYs)
最后说一句,有条件还是使用ImageMagick,没必要这么折腾!

curl: (60) SSL certificate problem: unable to get local issuer certificate 错误

由于没有配置信任的服务器HTTPS验证。默认,cURL被设为不信任任何CAs,就是说,它不信任任何服务器验证。
解决:
下载:https://github.com/bagder/ca-bundle/blob/e9175fec5d0c4d42de24ed6d84a06d504d5e5a09/ca-bundle.crt
放置php5.6.31\extras\ssl目录下

php.ini搜索curl.cainfo配置地址:"D:\install\wamp64\bin\php\php5.6.31\extras\ssl\ca-bundle.crt"