Archives for WebDev

PHP高级工程师的面试题

PHP高级工程师的面试题 发表:硬盘被格 2009-10-17 1. 基本知识点 HTTP协议中几个状态码的含义:503 500 401 200 301 302。。。 Include require include_once require_once 的区别. PHP/Mysql中几个版本的进化史,比如mysql4.0到4.1,PHP 4.x到5.1的重大改进等等。 HEREDOC介绍 写出一些php魔幻方法; 一些编译php时的configure 参数 向php传入参数的两种方法。 (mysql)请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别; error_reporting 等调试函数使用 您是否用过版本控制软件? 如果有您用的版本控制软件的名字是? posix和perl标准的正则表达式区别; Safe_mode 打开后哪些地方受限. 写代码来解决多进程/线程同时读写一个文件的问题。 写一段上传文件的代码。 Mysql 的存储引擎,myisam和innodb的区别。 2. web 架构,安全,项目经验 介绍xdebug,apc,eAccelerator,Xcache,Zend opt的使用经验。 使用mod_rewrite,在服务器上没有/archivers/567.html这个物理文件时,重定向到index.php?id=567 ,请先打开mod_rewrite. MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化? 写出一种排序算法(原理),并说出优化它的方法。 请简单阐述您最得意的开发之作 对于大流量的网站,您采用什么样的方法来解决各页面访问量统计问题 您是否用过模板引擎? 如果有您用的模板引擎的名字是? 请介绍Session的原理,大型网站中Session方面应注意什么? 测试php性能和mysql数据库性能的工具,和找出瓶颈的方法。 […]

MySQL GBK转utf8

原文地址:http://blog.ligj.eol.cn/435 作者:刀哥 MySQL GBK转utf8 技术学习/mysql数据库 2007/03/30 14:13 导出: mysqldump -p my_database > my_database.sql 转码: iconv -t utf-8 -f gb2312 -c my_database.sql > new.sql 修改new.sql,增加一条sql语句 "SET NAMES utf8;" 导入: mysql -h localhost -u root -p my_database < new.sql 或者 cat new.sql | /usr/bin/mysql -uroot -ppasswd databasename ####### latin1 to utf8 iconv -f latin1 -t utf8 /path/data_latin1.sql […]

垃圾留言“锲而不舍”奖

《SaBlog-X的一种防止垃圾留言的技术改进》这项工作完成以后,评论栏清净了许多。不过依然有某些制造垃圾留言程序的网友,锲而不舍地人工留下一些留言。特决定,对于有过垃圾留言历史的IP,给予永久封禁IP的“奖励”,对于多次留言的IP,给予同网段封禁的“奖励”。 现将奖励名单公布如下: 奖励名单 58.243.*.*,60.168.*.*,116.4.125.*,116.18.237.*,123.112.*.*,125.33.*.*,219.140.*.*,219.146.196.*,221.217.*.*,221.223.*.*,222.46.19.*   附:SaBlog-X的后台说明: 禁止IP:输入禁止发表评论的IP地址,可以使用"*"作为通配符禁止某段地址,用","格开.

SaBlog-X的一种防止垃圾留言的技术改进

最近垃圾留言众多,不堪其扰,决定自己动手,小小改造了一下SaBlog-X。具体来说,有两处改动: 一、 post.php文件 240 行 PHP代码 $clientcode = $_POST[‘clientcode’];   修改为: PHP代码 $clientcode = $_POST[‘clientcode’];    $clientcode = strrev($clientcode);   二、\templates\default\show.php文件 177 行 PHP代码 验证码(*):<br /><input name="clientcode" id="clientcode" value="" tabindex="5" class="formfield" size="6" maxlength="6" /> <img id="seccode" class="codeimg" src="include/seccode.php" alt="单击图片换张图片" border="0" onclick="this.src=’include/seccode.php?update=’ + Math.random()" /></label>    修改为: PHP代码 请将图中验证码翻转填写(显示1234,请输入4321):<br /><input name="clientcode" id="clientcode" value="" tabindex="5" class="formfield" size="6" maxlength="6" /> <img id="seccode" class="codeimg" src="include/seccode.php" alt="单击图片换张图片" border="0" onclick="this.src=’include/seccode.php?update=’ + Math.random()" /></label>    大家可以在本站试试效果,至少自动垃圾机会少很多。

CSS常用命名

页头:header 登录条:loginbar 标志:logo 侧栏:sidebar 广告:banner 导航:nav 子导航:subnav 菜单:menu 子菜单:submenu 搜索:search 滚动:scroll 页面主体:main 内容:content 标签页:tab 文章列表:list 提示信息:msg 小技巧:tips 栏目标题:title 加入:joinus 指南:guild 服务:service 热点:hot 新闻:news 下载:download 注册:regsiter 状态:status 按钮:btn 投票:vote 合作伙伴:partner 友情链接:friendlink 页脚:footer 版权:copyright 提交:submit 文本框:textbox 统计:count

[转载]XAMPP Wamp5和AppServ: Windows下简单好用的php平台

原文地址:http://www.gsls.info/20080511235853.html 说到开源,php无疑是最具有活力的。最优秀的、最受关注的、最有发展前景的开源web程序,例如CMS中的Joomla、Drupal,BLOG中的Wordpress、b2evolution,WIKI中的MediaWiki、TikiWiki,数据库管理工具的phpMyAdmin、TurboDbAdmin,CRM中的SugarCRM、ERP中的WebERP,都是采用php开发的。php语言简单、散漫,追求自由,这正是开源软件的原始动力之一。php的运行平台,一般有LAMP和WAMP。基本上,目前几乎所有的Linux发布版中都默认包含了LAMP,而在Windows操作系统下的php集成环境WAMP,则更方便我们进行实验和部署。一般来说,我们可以在WAMP上测试、部署好我们的站点,然后再迁移到LAMP上做正式的应用。 XAMPP是一个包含了 MySQL、PHP 和 Perl 的 Apache 发行版,十分容易安装和使用。到目前为止,XAMPP有四个版本,分别是基于Windows、Linux、Mac OS X和Solaris的。基于Windows的XAMPP,适用于几乎所有的Windows平台,包含了Apache、MySQL、PHP + PEAR、Perl、mod_php、OpenSSL、phpMyAdmin、FileZilla FTP Server和SQLite等等内容。 XAMPP 的理念,是为想进入 Apache 世界的开发者提供一套易于安装的发行版。为了方便,XAMPP 默认开启配所有功能,从安全的角度看,并不利于实际应用的。因此,如果使用XAMPP作为正式的应用平台,需要进行相关的安全配置。 XAMPP的更多内容:http://www.apachefriends.org/zh_cn/xampp.html 下载基于Windows的XAMPP:http://sourceforge.net/project/showfiles.php?group_id=61776&package_id=89552   Wamp5是我正在使用的WAMP平台,推荐。它是Romain Bourdon开发的WampServer的其中一个版本。WampServer专注于Windows平台,安装设置极其简单。目前,Romain Bourdon已正式推出了新版本的WampServer 2.0。不过Wamp5非常受欢迎,用户众多,它集成了Apache、MySQL、PHP、phpmyadmin和SQLite,可以通过插件同时支持PHP5和PHP4,并支持Apache的mod_rewrite。Wamp5在WinXP、win2000、win2003下运行良好。安装完成后,会在系统右下角出现一个托盘,许多功能只需要通过托盘菜单,点点“开启/关闭”就可以实现,省去了许多修改配置文件的麻烦。 Wamp5官方站点:http://www.wampserver.com/ AppServ我没用过,泰国人开发的,是一个更为轻量级的php集成平台,其官方网站上宣称,你只需要一分钟,就可以完成部署。AppServ包含了PHP、Apache、MySQL、phpMyAdmin和Perl,如果需要Zend Optimizer,需要自行到Zend官方下载安装。AppServ2.4.x对应php4,2.5.x对应php5,不同的版本,包含的MySql等内容的版本也有所不同。据资料显示,默认不支持Rewrite , 需要在httpd.conf中打开, 默认不支持Curl, 需要在php.ini中打开,需要将libeay32.dll, php5ts.dll, php_curl.dll, ssleay32.dll复制到system32目录。 AppServ官方站点:http://www.appservnetwork.com/ 下载地址:http://sourceforge.net/project/showfiles.php?group_id=37459&package_id=29748 此外还有 4.Easy2PHP5 Easy2PHP是Windows下的Apache + PHP + MySQL + Zend + phpMyAdmin 的绿色环境套件,免安装,几秒钟即可搭建Web服务器。 5.phpStudy 一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发手册以及一些高级应用等。

Windows下 Apache 2 + php 5 + MySQL 5 安装指南

Windows下 Apache 2 + php 5 + MySQL 5 安装指南 ======================================== 本文由moqi在广为流传的版本上经过自己的实践修正,供参考。 ======================================== 系统环境:Windows XP SP2 资料下载以及准备: apache_2.0.54-win32-x86-no_ssl.msi http://apache.mirror.phpchina.com/httpd/binaries/win32/ php-5.2.8-Win32.zip http://www.php.net/downloads.php   mysql-noinstall-5.0.22-win32.zip http://download.mysql.cn/src/2006/0710/5542.html ======================================== 新建系统目录 D:\Server 注意:文件夹名称最好不要包含空格及其它非英文字符 ======================================== 安装 Apache 运行 apache_2.0.54-win32-x86-no_ssl.msi,一路 Next 下来。到选择安装方式的时候,选择"Custom"自定义方式。然后 Next 选择安装路径,定位到 D:\Server\Apache,之后一直 Next。弹出一个 CMD 窗口安装 Windows 服务后,安装就完成了。右下角将出现 Apache 粉红色的羽毛 Icon,不出意外图标上应显示绿灯,表示 HTTP 服务器已经正常启动。你可以访问 http://localhost 来试试,如果屏幕出现默认页面就表示安装成功。 ======================================== Apache 2 启动错误的解决 现在启动 […]

CSS浏览器兼容问题整理(IE6.0、IE7.0 与 Firefox)zz

1.div的垂直居中问题  vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行   2. margin加倍的问题     设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。解决方案是在这个div里面加上display:inline;    例如:    <#div id=”imfloat”>    相应的css为    #IamFloat{    float:left;    margin:5px;/*IE下理解为10px*/    display:inline;/*IE下再理解为5px*/}   3.浮动ie产生的双倍距离     #box{ float:left; width:100px; margin:0 0 0 100px; //这种情况之下IE会产生200px的距离 display:inline; //使浮动忽略}    这里细说一下block与inline两个元素:block元素的特点是,总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline元素的特点是,和其他元素在同一行上,不可控制(内嵌元素);    #box{ display:block; //可以为内嵌元素模拟为块元素 display:inline; //实现同一行排列的效果 diplay:table;    4 IE与宽度和高度的问题   IE不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。这样问题就大了,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。    比如要设置背景图片,这个宽度是比较重要的。要解决这个问题,可以这样:    #box{ width: 80px; height: 35px;}html>body #box{ width: auto; height: auto; min-width: 80px; min-height: 35px;}    […]

Field ‘id’ doesn’t have a default value问题解决方法

MySQL 5中,出现错误提示: Field ‘id’ doesn’t have a default value 解决方法一: 打开my.ini,查找 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 修改为 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 然后重启MYSQL 解决方法二: MySQL 5 uses a strict mode which needs to be disabled. In Windows, Goto Start–>Programs–>MySQL->MySQL Instance Config Wizard. Follow through the Reconfigure Instance option–>Detailed Configuration–>Continue Next a few screens. At the bottom under Enable TCP/IP option there is ‘Enable […]

构建超级大站时可参考的一些资料zz

一个网站:http://highscalability.com/ 三本书: 《High Performance MySQL》, 《Building Scalable Web Sites》, 《Scalable Internet Architecture》。 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1739737