Warning: curl_exec() has been disabled for security reasons in /pub/host/sunboyu/sunboyu/www/wp-includes/http.php on line 1022
PHP 一个程序猿 孙小一,孙小二,PHP,MYSQL,LINUX,APACHE,原创技术,扯淡

打造全能优化的Linux+Apache+PHP+Mysql服务器(2)

作者 : admin 于 2008年07月15日, 11:33:13
2008
07-15

MYsql的安装

mysql 编译参数
./configure –enable-thread-safe-client –enable-local-infile –enable-largefile –with-charset=utf8  –with-uca –with-gnu-ld –with-pic –with-mysqld-libs –with-comment –with-query-cache –with-bench –with-big-tables –with-innodb –with-mysqld-use=mysql

/usr/local/bin/mysql_install_db

/usr/local/bin/mysqld_safe  –user mysql

如果安装时候有错误提示,也许是缺少这个组件  http://www.sunboyu.cn/sourse/termcap-1.3.1.tar.gz

打造全能优化的Linux+Apache+PHP+Mysql服务器(1)

作者 : admin 于 2008年07月13日, 21:05:51
2008
07-13

fastcgi   http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
apache2   http://apache.mirror.phpchina.com/httpd/httpd-2.2.9.tar.gz
mysql5    http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.51b.tar.gz/from/http://mysql.mirrors.arminco.com/
php5      http://cn2.php.net/distributions/php-5.2.6.tar.gz
libxml2
gd-jpeg   ftp://192.48.96.9/graphics/jpeg/jpegsrc.v6b.tar.gz
freetype  http://voxel.dl.sourceforge.net/sourceforge/freetype/freetype-2.3.7.tar.gz
libpng    http://voxel.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.29.tar.gz
zend      http://www.zend.com/download/55

memcached  http://www.danga.com/memcached/dist/memcached-1.2.5.tar.gz
memcache   http://pecl.php.net/get/memcache-3.0.1.tgz
libevent   http://www.monkey.org/~provos/libevent-1.2a.tar.gz

目前想到的功能大概有这些,想到再加。

目前正在研究每一个组件的性能和参数。

程序调式N多招

作者 : admin 于 2008年07月08日, 20:00:13
2008
07-8

最近在群里扯淡,好多小鸟提的问题其实很简单,程序本身的报错机制就能告诉你错误。现在列出所有能给你提示的方法.

  1. 打开PHP的报错。在php.ini(win下)中,寻找  error_reporting   ,设置 error_reporting  =  E_ALL & ~E_NOTICE,好像默认就是这个。
  2. 如果还是找不到,那么在你程序的头上加上:error_reporting(2047),这样错误也都会出来。

这两条是程序有硬伤的时候,直接报出来。如果逻辑上的错误,咋调呢?我的方法比较奔,但的确有效。

  1. 输入echo “aaa”;break; 这样,可以判断出程序是哪里出问题而中断了。
  2. print_r($var);这样去跟踪你认为出错的数据,用肉眼监视+大脑计算,去对比程序的计算,只要涉及变量值可能改变的地方,都得去对比。

这是程序差错的方法。mysql就更简单了,把你认为有错误的sql语句echo出来,放到phpmyadmin里去执行,看那个报错就行了。

最后一点:下载个星际译王,当然是指英文不太利索的。

多语言风格网站的语言模块处理

作者 : admin 于 2008年07月05日, 22:57:27
2008
07-5

奥运来了,流行国际化,网站也趋向于国际化。多语言网站成了流行,这里,我总结了一下多语言网站的设计。

首先,要设计多个语言包,打个比方,一个cn的,代表汉语,一个en的,代表英语。然后建立一个映射关系。比如,helloword,你好世界,英文,中文,我们给这个短句定一个ID,ID=’HW’,在英文语言包里,HW=’helloword’,在汉语语言包里,HW=’你好世界’。以此类推,语言包就做好了。

然后,我们要确定当前页面是调用哪个语言包。可以由读者去确定,比如,默认是英文,然后用户可以手工设置为汉语。可以通过session来设定一个变量,进行控制,但大多数是通过cookie。也可以根据域名,比如 http://cn.sunboyu.cn ,解析主机名,cn 即为汉语。  得到了客户端语言的标志,我们就可以确定调用哪个语言包。

最后说一下实现机制。最简单的方式,就是定义成数据,比如 $Lang['cn']['HW']=’你好世界’  $Lang['en']['HW'] ,这样,通过数据二级的键值就可以取出值。Smarty支持一个功能,就是config_load的功能,只要模板里有个语言种类变量,就可以动态调用语言包。还有,就是php的gettext扩展,都是一样的道理,只是存储不同。

做好你的语言包,做好语言选择控制,多语言网站就可以出炉了。

WEB开发中分层的概念

作者 : admin 于 2008年06月26日, 14:24:13
2008
06-26

这些日子一直在分析刚完工的项目,总得来说,能交付测试。但离产品阶段,还是差很差一截。

产品化,即一个项目可以轻松复制,交付给不同用户。

产品化的软件一个关键是不是可以轻松迁移,而轻松迁移就取决于迁移需要修改的参数接口是不是更加灵活。这在于我们在设计产品之前有没有合理开发一些关键参数,进行迁移。

在这个层面上说的分层,可理解为软件主题跟用户接口的分层。我们把软件-接口=开发者-用户这样的结构理解为两层。

程序层面上的分层,看此篇   PHP工厂方式的三层结构

另一个产品化的标识,就是方便修改,主要是风格方面。因此,在程序前端部分,需要合理设计我们的VIEW层代码。

VIEW层分层,主要是分成HTML(DIV)+CSS,CSS决定页面的风格,这样,只要重新CSS就能快速修改页面风格。

JS分层。如果是试用标准的xhtml标准或者DOM格式的代码,那可以方便得把事件和函数写在附加的js文件中。

Mysql备份SHELL v1.0demo版问世

作者 : admin 于 2008年06月22日, 04:57:40
2008
06-22

虽然功能不是很完善,应该很不完善,但还是放出来让大家批评一下。

感谢PHP开源支持者的鼓励,感谢杜江老师的鼓励。mysqldump v1.0 demo 下载 版权所有,欢迎盗版!

源代码

阅读全部 »

基于PHP-CLI的数据库备份管理软件今日奠基

作者 : admin 于 2008年06月20日, 23:37:57
2008
06-20

确定了基本的功能

  • 创建任务mysql数据库备份任务
  • 管理cron任务跟备份任务的结合
  • 任务管理

基本能满足一个网管备份mysql的日常操作。

由于是第一个版本,没做太多的功能,实现再说。

这个东东也是展示下PHP功能的强大。PHP代替Perl也不是不可能的。

关于require和require_once的研究

作者 : admin 于 2008年06月16日, 23:12:04
2008
06-16

前几天写程序蹦出个问题,研究一下。

先创建文件 a.php

<?php
$a = “test”;
?>

再创建 b.php

阅读全部 »

PHP error_reporting()研究

作者 : admin 于 2008年06月16日, 21:40:37
2008
06-16

PHP错误处理与反馈机制,是使用set_error_handler(”myErrorHandler”); 使程序出错时调用此函数。

此函数有4个参数,myErrorHandler($errno, $errstr, $errfile, $errline),$error-错误号,$errstr-错误描述,$errfile-错误文件,$errline-出错的行号。
用此方法,可以捕捉并记录详细的错误信息,可以根据项目需求进行错误级别评定。

WordPress的报错声明
// Add define(’WP_DEBUG’,true); to wp-config.php to enable display of notices during development.
if (defined(’WP_DEBUG’) and WP_DEBUG == true) {
error_reporting(E_ALL);
} else {
error_reporting(E_ALL ^ E_NOTICE ^ E_USER_NOTICE);
}

插件的报错
error_reporting( E_ALL ^ E_NOTICE );

升级程序的报错
error_reporting( E_ALL ^ E_NOTICE );

PHP中工厂方式的三层结构

作者 : admin 于 2008年06月14日, 22:38:23
2008
06-14

项目即将收尾,但有些代码乱七八糟,不少东西是为了赶时间而写成了流水程序。功能出来了,但代码可读性和可维护性却相当差。当然拿出少量时间给代码排个版是很有必要的,这里我一直主张工厂模式三层结构的方法。

网站基本是传统的机构,数据库,web,在这里,我们只讨论web中程序的结构。

三层,主要是指子类,抽象工厂方法,业务逻辑处理。

子类:子类是所有跟程序之外对象进行交互的类,包括跟数据库,磁盘存储,xml等的处理。子类有个特征,就是可以迁移到任意的项目中进行复用,也就是整个项目中最底层的一些操作。

工厂方法:工厂方法就是使用子类提供的功能进行整合,构造出能够满足一些业务具体功能的方法。

业务处理:业务处理主要是UI部分,根据用户的请求来选择合适的工厂方法,把工厂方法的返回产品数据输出给用户。

 Page 9 of 10  « First  ... « 6  7  8  9  10 »