预览模式: 普通 | 列表

PHP文件锁测验

 PHP的锁大致是两种用法,一个是在WEB并发比较高的情况下的一些写操作可能需要加锁,这可能也是php锁最原始的使用方法。另外一种就是非阻塞的一种用法,比如已经有其它进程取得了这个锁本进程直接退出。

查看更多...

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 3066

 公司之前一直用没加密的smtp服务,上周突然要求全部换成ssl的连接方式,强制停止了不使用ssl的smtp服务,导致了原本很多使用smtp的程序不能正常工作。

有一个程序原来是用PHPMailer来发邮件的,好在PHPMailer支持ssl的smtp,我以为改下端口,加下SMTPSecure设置就可以了。事实当然没那么简单,加了下面这句代码后PHPMailer一直提示不能连接到主机。

查看更多...

Tags: php openssl

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 9730

管道实现PHP与Python相互通信

 之前在公司做项目的时候碰到了一个解23个系数的回归方程的问题,当时只记得在大学的时候听数学老师讲过回归计算,后来也就还回去了。在网上也只能找到一个Python解回归方程的代码,而我用的主语言是PHP,对Python也只略懂些语法,所以只能想办法让PHP启一个Python进程再用进程间通信的方法来解决了。

 
看看管道文件的打开规则。

查看更多...

Tags: php 管道

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 4683

php回调函数必需知道的几种方法

 php回调函数的几种方法

 
PHP回调函数用的场合还是挺多的,特别是一些用到模式的地方。这篇文章就小小的总结一下PHP的回调函数的几种形式。
 
先看下PHP手册对一个函数的介绍,因为实现调用回调函数和这个函数分不开。

call_user_func_array

(PHP 4 >= 4.0.4, PHP 5)

call_user_func_array --  Call a user function given with an array of parameters

Description

mixed call_user_func_array ( callback function, array param_arr )

Call a user defined function given by function, with the parameters in param_arr

查看更多...

Tags: php 回调函数

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 8658

阿里云服务器使用体验

作为一个WEB开发者,用虚拟主机总是觉得不过瘾。使用虚拟主机有几个弊端。一个是和别人共享硬件带宽,如果有的网站占据了大量的cpu和流量,那其它的网站打开就会非常慢,直接导致了用户流失。第二个是共享IP。如果有的网站放了违规的内容被百度将IP打入黑名单了,那你的网站也就和百度说拜拜了。第三个就是配置不灵活,出了问题还要看客服的脸色。如果我们的PHP代码需要在服务器上做一些配置,抱歉不能。

之前已经推荐很多客户选择了阿里云服务器,其实主要看重的还是阿里的实力(说是国内最牛应该不过分吧)。最近自己也搞了一台感受一下。

让我也来选一下配置

查看更多...

Tags: 阿里云 服务器

分类:智慧人生 | 固定链接 | 评论: 0 | 查看次数: 3330

使用nginx搭建https服务器

最近在研究nginx,整好遇到一个需求就是希望服务器与客户端之间传输内容是加密的,防止中间监听泄露信息,但是去证书服务商那边申请证书又不合算,因为访问服务器的都是内部人士,所以自己给自己颁发证书,忽略掉浏览器的不信任警报即可。下面是颁发证书和配置过程。

 

首先确保机器上安装了openssl和openssl-devel

#yum install openssl
#yum install openssl-devel

然后就是自己颁发证书给自己

#cd /usr/local/nginx/conf
#openssl genrsa -des3 -out server.key 1024
#openssl req -new -key server.key -out server.csr
#openssl rsa -in server.key -out server_nopwd.key
#openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt

查看更多...

分类:WEB服务器 | 固定链接 | 评论: 0 | 查看次数: 3996

正确设置php-fpm和nginx防止网站被黑

 核心总结:php-fpm 子进程所使用的用户,不能是网站文件所有者。 凡是违背这个原则,则不符合最小权限原则。

 
根据生产环境不断反馈,发现不断有 php网站被挂木马,绝大部分原因是因为权限设置不合理造成。因为服务器软件,或是 php 程序中存在漏洞都是难免的,在这种情况下,如果能正确设置 Linux 网站目录权限, php 进程权限,那么网站的安全性实际上是可以得到保障的。
 
 

查看更多...

分类:网络安全 | 固定链接 | 评论: 0 | 查看次数: 5087

ssh scp 免密码方法

  ###########################

 
A为本地主机(即用于控制其他主机的机器) ;
B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;
A和B的系统都是Linux
 
在A上运行命令:
# ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码)
# ssh root@192.168.60.110  "mkdir .ssh; chmod 0700 .ssh" (需要输入密码)
# scp ~/.ssh/id_rsa.pub  root@192.168.60.110:.ssh/id_rsa.pub (需要输入密码)
 
在B上的命令:
# touch /root/.ssh/authorized_keys2 (如果已经存在这个文件, 跳过这条)
# cat /root/.ssh/id_rsa.pub  >> /root/.ssh/authorized_keys2 (将id_rsa.pub的内容追加到 authorized_keys2 中)
 
回到A机器:
# ssh root@192.168.60.110 (不需要密码, 登录成功)
 
如果能保护好自己的私钥, 这种方法相对在shell上输入密码, 要安全一些
 

查看更多...

分类:linux教程 | 固定链接 | 评论: 0 | 查看次数: 5283

使用nginx_concat_module合并http请求

安装nginx_concat_module模块,添加combo,减少http请求

 

nginx_concat_module:http://code.taobao.org/p/nginx_concat_module/src/trunk/

 

安装方法(INSTALL文件):

 

Here are some step by step instructions.

1) Download the source code of the latest stable nginx from http://nginx.org.

$ wget http://nginx.org/download/nginx-0.7.65.tar.gz

 

2) Extract the tarball.

$ tar zvfx nginx-0.7.65.tar.gz

 

3) Change the working directory to the source of nginx.

$ cd nginx-0.7.65

 

4) Build nginx with this module and install it. You may need root privilege to

install it to the default directory.

  $ ./configure --add-module=/path/to/the/source/of/this/module

  $ make

  $ make install

 

使用

类似于 http://jser.zeroplace.cn/tester/??test.js,test1.js

分类:WEB服务器 | 固定链接 | 评论: 0 | 查看次数: 3853

 phpinfo() 
功能描述:输出 PHP 环境信息以及相关的模块、WEB 环境等信息。 
危险等级:中 

passthru() 
功能描述:允许执行一个外部程序并回显输出,类似于 exec()。 
危险等级:高 

exec() 
功能描述:允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等)。 
危险等级:高 

system() 
功能描述:允许执行一个外部程序并回显输出,类似于 passthru()。 
危险等级:高 

chroot() 
功能描述:可改变当前 PHP 进程的工作根目录,仅当系统支持 CLI 模式 
PHP 时才能工作,且该函数不适用于 Windows 系统。 
危险等级:高 

scandir() 
功能描述:列出指定路径中的文件和目录。 
危险等级:中 

 

查看更多...

分类:网络安全 | 固定链接 | 评论: 0 | 查看次数: 4756

VC6下实现CHtmlView的external的方法

 源码直接打包在附件,应该说标题不对,不是CHtmlView,而是用Webbrowser2控件来搞的。VS2008下实现external相对容易一点,请看

在MFC中实现CHtmlView与Javascript交互最简单的方法

 

点击下载此文件

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 5459

VIM的minibuffer插件安装

 首先去minibuffer官网下载插件:

http://www.vim.org/scripts/script.php?script_id=159
下载到一个minibufexpl.vim文件,下面要把该文件拷贝到vim插件目录,如何找到这个目录?
 
在vim中,输入命令":set runtimepath?"即可看到给出的几个目录,这些都是vim插件存放目录,其中第一个为仅当前用户可用的插件目录;第二个为全部用户可用的插件目录;第三个也是全部用户可用,但在更新vim版本后此目录会被覆盖。一般使用第一个和第二个目录即可。
 
现在我们将下载到的minibufexpl.vim复制到其中一个目录,在vim中使用tabe xxx即可新开标签编辑xxx文件。
分类:智慧人生 | 固定链接 | 评论: 0 | 查看次数: 3441

Chrome 开发者工具使用技巧

 JavaScript Beautifier

 

JavaScript 文件在上线前一般都会压缩下,压缩的 JavaScript 几乎没有可读性,几乎无法设定断点。在 Scripts 面板下面有个 Pretty print 按钮(这种符号 {}),点击会将压缩 JavaScript 文件格式化缩进规整的文件,这时候在设定断点可读性就大大提高了。

 

查看元素绑定了哪些事件

 

在 Elements 面板,选中一个元素,然后在右侧的 Event Listeners 下面会按类型列出这个元素相关的事件,也就是在事件捕获和冒泡阶段会经过的这个节点的事件。在 Event Listeners 右侧下拉按钮中可以选择 Selected Node Only 只列出这个节点上的事件。

 

AJAX 时中断


在 Sources 面板右侧有个 XHR Breakpoints,点右侧的 + 会添加一个 XHR 断点, 断点是根据 XHR 的 URL 匹配中断的,如果不写匹配规则会在所有 AJAX,这个匹配只是简单的字符串查找,发送前中断,在中断后再在 Call Stack 中查看时那个地方发起的 AJAX 请求。

 

查看更多...

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 3094

《C语言教程》电子书

还不错的一本PDF格式的电子书,还挺清晰的。

 点击下载此文件

 

如果是新手学习的话,可能还需要一款用来练习C语言的软件,这里有几个软件还挺不错的推荐给大家。

查看更多...

分类:下载专区 | 固定链接 | 评论: 0 | 查看次数: 3483

CentOS增加swap分区 

 今天学习安装oracle数据库安装,发现我的SWAP分区太小,不符合要求,所以要扩大交换空间,百度加上自己的实践,操作如下:

 
使用dd命令创建一个swap分区
 
[root@localhost Desktop]#dd if=/dev/zero of=/home/swap bs=1024 count=1048576
 
count的计算公式: count=SIZE*1024  (size以MB为单位)
 
这样就建立一个/home/swap的分区文件,大小为1G,接着需要格式化新建的SWAP分区:
 
[root@localhost Desktop]# mkswap /home/swap 
 
 
再用swapon命令把这个文件分区变成swap分区
 
[root@localhost Desktop]#swapon /home/swap
(关闭SWAP分区命令为:[root@localhost Desktop]#swapoff /home/swap)
 
再用free -m查看一下,可以看出swap扩大了。
 
 
 
为了能够让swap自动挂载,要修改/etc/fstab文件
 
vi /etc/fstab
 
在文件末尾加上
 
/home/swap swap swap default 0 0
这样就算重启系统,swap分区就不用手动挂载了。

Tags: CentOS

分类:linux教程 | 固定链接 | 评论: 0 | 查看次数: 5819

nginx gzip压缩

 以前没关心过nginx的gzip功能,今天仔细看了一下,有点收获。

gzip的开关指令

gzip on # 用这个指令开启nginx的gzip功能,这个没开后面的都没用。

gzip_types 用这个指令告诉nginx对哪些类型的应答启动gzip。注意: nginx默认只为text/html类型的应答启用了gzip, 所以像css,js之类的是不会被压缩的。加上后面这两个应该还是挺重要的,分别为text/css application/javascript, 毕竟jQuery可能从90K压缩到30K。

查看更多...

Tags: nginx gzip

分类:WEB服务器 | 固定链接 | 评论: 0 | 查看次数: 2829

Phpcms V9 网站迁移更换域名方法

网站在发展的过程中,很可能多次的修改域名。那么在Phpcms V9中我们要怎么进行设置呢?

请进行以下步骤的修改:

  1. 1. 修改/caches/configs/system.php里面所有和域名有关的,把以前的老域名修改为新域名就可以了。
  2. 2. 进行后台设置-》站点管理 对相应的站点的域名进行修改。
  3. 3. 更新系统缓存。点击后台右上角的“更新缓存”按钮。
  4. 4. 进入内容-》附件管理-》附件地址替换。把附件地址批量的替换为新的地址。
  5. 5. 内容-》批量更新URL 。把所有的文章的地址都更新一下。
  6. 6. 下面就是把全站都生成一次了。

再进一步,怎么转移空间,并且更换域名呢?

这种情况比更换域名更加复杂一点,涉及到数据库的迁移。

查看更多...

Tags: phpcms

分类:PHPCMS | 固定链接 | 评论: 0 | 查看次数: 2997

PHPCMS添加自定义设置

懒得看文字的同学,可以直接这里观看视频教程。 

 

在使用PHPCMS的时候有时候可能会需要用到添加自定义的设置,比如每个页面底部的版权信息等,而这些在后台是找不到地方来设置的。本文提出了一种可以添加自定义配置的方法如下。

1. 进入后台,来到“设置”-> “站点设置” -> "选择一个站点"->"修改",弹出站点修改页面。

2. 找到phpcms的根目录,编辑phpcms/modules/admin/templates/site_edit.tpl.php

查看更多...

Tags: phpcms

分类:PHPCMS | 固定链接 | 评论: 0 | 查看次数: 4889

fastcoll 生成两个md5值一样的文件

这个工具的出现彻底宣布了md5的死亡

下面介绍使用方法:

首先准备工具: md5校验工具, 一个notepad.exe程序, fastcoll_v1.0.0.5.exe

1. 找到一个可执行文件, 我们以它的文件内容为前缀,这里我选择的是windows下的notepad.exe

2.打开cmd命令行: fastcoll_v1.0.0.5.exe -p notepad.exe -o notepad1.exe notepad2.exe, 此时生成两个文件notepad1.exe和notepad2.exe, 而此时发现这两个文件都同notepad.exe一样是可以运行的

 

查看更多...

Tags: md5

分类:网络安全 | 固定链接 | 评论: 0 | 查看次数: 12749

 phpcms v9 根据栏目id( catid ) 获取栏目名称、url等等 

调用方法:

{$CATEGORYS[栏目ID][catname]}

注意别掉了“S”。

以此类推,调用url:

{$CATEGORYS[栏目ID][url]}

 

除了url外,还有一些其它的属性也可以参考:

 

  array (
    "catid' => '26',
    'siteid' => '2',
    'type' => '0',
    'modelid' => '18',
    'parentid' => '24',
    'arrparentid' => '0,24',
    'child' => '0',
    'arrchildid' => '26',
    'catname' => '网络营销案例',
    'style' => '',
    'image' => '',
    'description' => '',
    'parentdir' => '/',
    'catdir' => 'wangluoyingxiao',
    'url' => 'http://www.zeroplace.cn/cms/index.php?m=content&c=index&a=lists&catid=26',
    'items' => '0',
    'hits' => '0',
    'setting' => 'array (
  \'workflowid\' => \'\',
  \'ishtml\' => \'0\',
  \'content_ishtml\' => \'0\',
  \'create_to_html_root\' => \'0\',
  \'template_list\' => \'site\',
  \'category_template\' => \'category\',
  \'list_template\' => \'list\',
  \'show_template\' => \'show\',
  \'meta_title\' => \'\',
  \'meta_keywords\' => \'\',
  \'meta_description\' => \'\',
  \'presentpoint\' => \'1\',
  \'defaultchargepoint\' => \'0\',
  \'paytype\' => \'0\',
  \'repeatchargedays\' => \'1\',
  \'category_ruleid\' => \'6\',
  \'show_ruleid\' => \'16\',
)',
    'listorder' => '26',
    'ismenu' => '1',
    'sethtml' => '0',
    'letter' => 'wangluoyingxiaoanli',
    'usable_type' => ',56,57,',
    'additional' => '',
    'commenttypeid' => '0',
    'create_to_html_root' => '0',
    'ishtml' => '0',
    'content_ishtml' => '0',
    'category_ruleid' => '6',
    'show_ruleid' => '16',
    'workflowid' => '',
    'isdomain' => '0',
  ),

Tags: phpcms

分类:PHPCMS | 固定链接 | 评论: 0 | 查看次数: 3794
博主QQ: 友情链接请找我
QQ群: 灰色档案
返回顶部 关闭