分类目录归档:PHP

512M VPS内存优化

512M的VPS优化apache内存 查看目前占用内存 Ps aux|grep httpd 基本一个占用50M左右 ps aux|grep httpd | wc –l 一共13个,减去grep httpd 那行 12个,说明占用大约600M 超过了服务器512M内存, (相比之下nginx主进程占用50M,带着php-fpm跑,一个fpm占用2M,开启10个fpm进程,一共70M的内存就足够了。) 标准Linux Apache配置在Apache的配置文件在/etc/httpd/conf/httpd.conf 但是lampp的不在httpd.conf里,而是在extra/http-default.conf里面。 两处地方分别对应两个模块prefork模块和worker模块(Apache默认启用的是prefork模块),根据自己的服务器启用的模块分别修改对应的参数,可以用命令httpd -l查看apache所使用的模块。 各参数含义解释如下: • StartServers //指定服务器启动时建立的子进程数量,prefork默认为5。如果你的内存占用过大,可适当减小此值。 • MinSpareServers //指定空闲子进程的最小数量,默认为5。如果当前空闲子进程数少于MinSpareServers ,那么Apache将以最大每秒一个的速度产生新的子进程。 • MaxSpareServers //设置空闲子进程的最大数量,默认为10。如果当前有超过MaxSpareServers数量的空闲子进程,那么父进程将杀死多余的子进程。如果你将该指令的值设置为比MinSpareServers小,Apache将会自动将其修改成”MinSpareServers+1″。 • MaxClients //限定同一时间客户端最大接入请求的数量(单个进程并发线程数),默认为256。任何超过MaxClients限制的请求都将进入等候队列,一旦一个链接被释放,队列中的请求将得到服务。要增大这个值,你必须同时增大ServerLimit 。 • ServerLimit … 继续阅读

发表在 Linux, PHP | 标签为 , , | 一条评论

thinkphp深入学习小笔记2

前期背景条件 项目根目录为 http://localhost/site/ 新建的模块叫home 我们在IndexController.php里有个add函数 public function add(){ //$this->show(‘<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;font-size:24px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px }</style><div … 继续阅读

发表在 PHP | 标签为 , , | 2 条评论

解决session定时失效问题

<img id="phpImg" src="admin_session.php?" width="1" height="1" />   <script type="text/javascript"> function keepMeAlive(imgName){ myImg = document.getElementById(imgName); if(myImg) myImg.src = myImg.src.replace(/\?.*$/, ‘?’ + Math.random()); } window.setInterval("keepMeAlive(‘phpImg’);", 10000); </script> 10秒刷新一次session //window.setInterval(“keepMeAlive(‘phpImg’);”, 10000);

发表在 PHP | 标签为 | 一条评论

Thinkphp快速入门教程

简单普及一下MVC [模型层M,控制层C,视图层V] 视图 视图是用户看到并与之交互的界面。 模型 模型表示企业数据和业务规则。 控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求 第一个小修改 Application\Home\Controller (Controller 字面理解我们也知道这个是控制层 MVC 的C) IndexController.class.php 修改$this->show();里的内容 还是这个文件 public function hello(){ echo ‘hello,thinkphp!’; } 访问 http://localhost/thinkphp/Home/Index/hello 就出现了hello…. 后置策略,就是在文件输出以后,继续执行。 前置对应的就是_before_hello() public function _after_hello(){ echo ‘after<br/>’; }   hello,thinkphp!after 新建业务模块 /thinkphp/目录下直接建立一个文件叫admin.php // 检测PHP环境 … 继续阅读

发表在 PHP | 标签为 | 2 条评论

png的256色和24b颜色

最近搞个图片,发现一张图片在合并的时候出问题结果发现是个256色的图片 没问题的png图片是24b的。 图片的颜色 单色位图:图像只能由黑白两颜色构成 16色位图:图像只能由16种颜色构成 (还有16位色位图:2的16次方,约6万种颜色) 24色位图:图像只能由24种颜色构成(好像没这种,应该是24位色位图:2的24次方,约1600万种颜色) 256色位图:图像只能由256种颜色构成 还有32位色位图:2的32次方,约40亿种颜色) 越多颜色越丰富,看起来才真实,通常16位(6万种)就能骗人的眼睛了,一般人24位足够了,当然对颜色敏感的人除外。 如果生成一个256色的图片 Photoshop里,图像–》模式–》索引 目前还没有找到php能正常读取256色的好办法。 判断是否为256色图 <?php $im = imagecreatefrompng(’D:/Users/Administrator/Desktop/png256.png’);//如果是Gif用imagecreatefromgif,PNG用imagecreatefrompng…… if (imageistruecolor($im)) { imagetruecolortopalette($im, false, 256);//如果是真彩色图象,将真彩色图像转换为调色板图像 echo ‘真彩图’; }else{ echo ’256图’; } imagedestroy($im); ?>

发表在 PHP | 标签为 , , | 一条评论

ecshop 在 php5.5环境下出错

php大家用的版本不断提高,Ecshop没有来得及修改那么及时。 Ecshop安装出现 Only variables should be passed by reference 5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(’ ‘, $tag)); 改成: $tag_arr = explode(’ ‘, $tag); $tag_sel = array_shift($tag_arr); (实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值 修改 Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead…? cls_template.php $out … 继续阅读

发表在 PHP | 2 条评论

博客被挂暗链接

今天用chinaz的工具查了一下外链出现大量不明链接,从我的博客出去 查了首页源码发现了 经过排查,发现首页的index.php文件被篡改。 看来我得排查一下这服务器上的文件了。 定期用chinaz工具查查自己的外链,还是比较靠谱的事情,能发现一些问题。

发表在 PHP | 标签为 , , | 4 条评论

全新的一台Linux安装lampp php网站手续大全

此配置适用于一台全新的Linux机器的一切配置,装好以下配置,基本就可以放心的玩了。 1.lampp 2.ulimit修改 #ulimit -n 看一下 1024 改成8192 #ulimit -n 8192 简单改一下仅仅当前有效,想持续有效修改etc/profile 最后加入ulimit -n 8192 #source /etc/profile 3.修改mysql的文件位置 4.设置iptables 开启80端口 CentOS /sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT 5. 配置phpmyadmin 将phpmyadmin改名字 关闭phpmyadmin root权限,为root设置密码 修改登录方式,为cookie or http 6.配置FTP /sbin/iptables … 继续阅读

发表在 Linux, PHP | 标签为 , , , | 2 条评论

php smarty模板UTF8 truncate 乱码解决

估计不少玩smarty模板的小朋友都遇到过裁切乱码问题。 特别是UTF8编码的 以下代码保存为modifier.truncate2.php 存到smarty libs下的plugin目录下 然后裁剪的时候用$v->content|truncate2:100 就搞定了。 如果不好用可能是缓存导致,请速度删除templates_c下的缓存文件(月小升搞的时候遇到缓存问题。) <?php /** * Smarty plugin * @package Smarty * @subpackage plugins */     /** * Smarty truncate modifier plugin * * Type: modifier<br> * Name: truncate<br> * Purpose: Truncate a string … 继续阅读

发表在 PHP | 标签为 , , , , , , , , | 4 条评论

HTML5 多图上传

一次选择多张照片,你是不是要这样的效果 刚刚研究完FLASH的多图上传,不过html5这么时髦的东西,也得研究下。 研究了半天发现html5其实特别简单。 多图控件<input id="fileImage" type="file" size="30" name="files[]" multiple /> multiple 这个input的特性是html5新有的,所以IE6这么低级的货是无法兼容的。 这个属性相当于以前的这样的多图情况 <input id="fileImage" type="file" size="30" name="files[]" > <input id="fileImage" type="file" size="30" name="files[]" > <input id="fileImage" type="file" size="30" name="files[]" > 不过道理很简单一个是一次只能选择一个图片 HTML5的这个可以选择多个图片,拉风啊。 后台代码不变。 function getimgmany($rr,$upload_image_dir) { $fs = $_FILES[$rr]; … 继续阅读

发表在 PHP | 标签为 , , | 留下评论