Tag Archives: PHP

CentOS服务器(nginx+php+MySQL)配置与小内存优化

虚拟机上创建,内存256Mb,为了模拟优化vps。
一、安装
虚拟机使用了“Bridge Adaptor”,从网关自己搞了个IP
选择了CentOS 5.4,x86_32,分区如下:
/dev/hda1 挂载/ 8G
/dev/hda2 挂载/home 2G
swap 256Mb
不要选择任何包,不要图形界面。只保留vim即可。
二、服务设置
第一次启动后,可以设置防火墙什么的,我先把SELinux关了。
内存108Mb
setup进入配置程序。
启动完毕后,找一个服务优[……]

继续阅读

解决PHP中long2ip反序的问题

原因是:php中没有考虑主机序和网络序的转换,导致主机序为little-endian的机器上,long2ip()得到的IP反了。
下面是解决办法,我们自己判断little-endian和big-endian:

[php]
function long2ip_fix($ip_32)
{
$ip = long2ip($ip_32);
//先判断是big-endian还是little-endian
$foo = 0x3456789a;
switch (pack (‘L’, $foo)) {[……]

继续阅读

PHP中让人郁闷的long2ip和ip2long

一般情况下,这两个函数是没法正常工作的:并不能正确完成ip和uint_32的互相转换。
解决办法:
bindec(decbin(ip2long( '218.22.80.170 ')))
long2ip正在寻找中。。。
目前的办法是,手动反向
 
function direction_fix($ip) {
//将读取的little-endian编码的4个字节转化为长整型数
$tmp = split("\.",$ip);
return $tmp[3].&[……]

继续阅读

php多目录嵌套include的解决方法

在网上看到别人这么做:

localhost\主目录\include\xxx.php中define一个主目录的绝对路径
//****目录的绝对路径****/
if ( !defined(‘ROOT_PATH’) ) {
define(“ROOT_PATH”, substr(dirname(__FILE__), 0, -7) );
}
其中这个-7就是include的长度,也就是到ROOT的所有子目录字节数,虽然可能每个文件都要加,但是可以[……]

继续阅读