网站开发日志

2010年1月17日星期日

phpwind的几个问题

最近给"彩票站"搞了一个论坛,之前没有接触过任何论坛软件。有听说过PHPWIND和DISCUZ!,上网搜索了下,据说PHPWIND速度会快一点。"彩票站"资源有限,就装了PHPWIND。速度还行,没有比较,我也不敢说谁快谁慢。但是,在使用phpwind的过程里,还是碰到了一些问题。

1. PHPWIND建议安装后,把admin.php改名,这样会比较安全一点。于是我就改了,改好一切正常,但是发现论坛顶部的"系统设置"还是指向默认的链接 - admin.php.

2. 论坛的面包屑导航的顶层,也就是指向论坛首页的链接不会自动使用论坛名称命名,而是使用PHPWind。我在后台面板上找了很久就是找不到相关设置。

3. 后台的面包屑导航,只是告诉你当前位置,而不是使用实际链接,虽然它告诉你当前页的上一层是什么,但是却无法直接点入。

最后我是在源代码里,找到前两个问题的答案。

修改config.php,位置:/data/bbscache/config.php。

$db_adminfile='admin.php';  //这个设置控制'系统设置'的href
$db_bbsname='PHPWind'; //这个设置控制面包屑的顶层链接名,你可以把它改为你的论坛名称

 更正:只修改這個文件是不夠的,因為它只是cache(緩存)。實際上應該在數據庫修改。打開PHPMYADMIN,表的名稱為:pw_config. 修改db_adminfile 和 db_bbsname即可。

總的來說,phpwind对论坛版块管理/帖子管理等还是很不错的。

标签:

2009年12月27日星期日

Google自定义搜索引擎 - 宽度设置

今天在给另一个网站加入Google的自定义搜索引擎时,碰到一个问题。我选择在自己的网站上显示搜索结果,就是像“网站开发日志”现在用的一样。很明显这是通过iframe来实现的,但是在使用Google自定义搜索引擎自动生成器里,这个搜索结果的iframe宽度必须大于795,我想这是考虑到广告可以被放置在搜寻结果页面的右边。

自动生成器不让设置,就直接改代码喽。记得以前在给“网站开发日志”加Google自定义搜索引擎时,我就是这么做的。如下:

<script type="text/javascript">
  var googleSearchIframeName = "cse-search-results";
  var googleSearchFormName = "cse-search-box";
  var googleSearchFrameWidth = 775; //把它改为适合你的页面布局的尺寸
  var googleSearchDomain = "www.google.com.tw";
  var googleSearchPath = "/cse";
</script>

但是发现,这么做并不行。Google在生成搜索页面的时候,仍然用795周围iframe的宽度。

后来发现搜索框代码里还有一个参数可以修改,那就是cof值:

  • FORID:10 - 支持最小iframe宽度为795
  • FORID:11 - 支持最小iframe宽度为500

呵呵,把cof的值改为FORID:11后问题解决了。

    <input type="hidden" name="cof" value="FORID:11" />
    <input type="hidden" name="ie" value="UTF-8" />
    <input type="text" name="q" class="keyword" />

此外,你如果用IE,你可能也发现了,Google AdSense的网页上有一些非安全元素,所以经常会有弹出窗口警告你“改页面含有非安全元素,你想显示它们吗...”。看来Google AdSense的广告设置功能还有待提高.

标签:

2009年11月25日星期三

我的Eclipse笔记

最近在用Eclipse,觉得越用越好用。之前在日志里提到NetBEAN,之所以放弃它是因为觉得它很慢。在写代码的时候,它会自动扫描你的项目文件夹,然后提供提示,例如你输入ab,而你在库里已经定义了函数叫abc,它会帮你找出来。好像是一个很不错的功能,但是问题是当你的项目文件夹过大,它的反应会变得很迟钝。你敲个ab它就僵住了,过了很久才给你出个abc。上网搜索了,没有查到解决方案。之前之所以没有选择Eclipse,是因为以为它不可以直接导入已有的源代码,或者说在原有的代码上建立新的项目。后来发现我错了,Eclipse的确包含这个功能(至少在我用的版本里)。另外还有一个功能NetBean自带的但是Eclipse没有,那就是FTP的功能。但是在Eclipse下FTP的功能可以通过安全第三方插件来实现。

和上篇关于WAMP的文章一样,这篇文章只是本人学习使用Eclipse的笔记,所以没有准备提供很详细的介绍。估计Google一下就知道了,我自己也是Google学来的。

1. 那里下载?

如果你和我一样打算用Eclipse来开发PHP项目,那么建议到zend下载Eclipse PDT All-in-one。我选择的是Windows版本,直接链接在这里

2. 如何建立新项目?

打开Eclipse. File->New->PHP Project->Create new project from existing source (在原有代码基础上建立项目)

3. 如何安装第三方插件?

打开Eclipse. Help-> Install New Software 然后添加第三方插件网站,选择插件名。

通常你可以先Google你要的功能,然后找到插件的网站,通常他们提供Elipse按转接口,然后你就可以通过上面的步骤安装了。

4. 我安装的插件

a. Elipse自带CVS版本控制系统,但是如果你要用到别的版本操作系统,你必须安装插件。比如我就装了Subclipse用来和Subversion服务器同步我的项目源码。

b. Aptana 功能很多,我目前用到哦只是它的FTP功能。

5. 两个小技巧

a. Eclipse支持列操作的! shift+alt+a

b. Eclipse Explorer默认下不识别隐含文件。如果你要查看隐含文件,比如.htaccess, 你可以点击PHP Explorer顶部右边的三角形小按钮 -> 选择filter -> 反选.*resources -> OK

标签:

2009年11月24日星期二

免费虚拟主机

刚刚开始做网站流量不大,或者是纯粹想找个空间来玩玩(学习、练手、调试)?在这种情况下,你可能和我有同感,找个免费的虚拟主机最好!

之前试过一些免费的主机,要么有广告、要么上传速度限制、要么上传文件大小限制、要么国内不可访问、要么…, 而000webhost提供的免费虚拟主机完全没有这些限制,我用了大半年,唯一碰到的问题是他们的mysql服务器宕机了几次,但是每次都只有10分钟左右。另外值得一提的是想我们这样的免费用户,他们也同样提供客服。每次我发送一个ticket,很快就可以得到答复。真的没得说,因此想在这里和大家分享一下。

先给几个参数:

  1. 硬盘空间: 1.5GB
  2. 带宽: 100GB
  3. 挂域名:没有限制
  4. 控制面板:非常好用
  5. 广告: 没有,除非你挂自己的广告 :-)
  6. PHP/PHP Mail/MYSQL/自动备份/FTP/Cron Jobs/PHP Pear Modules
  7. POP3/Web Mail/IMAP
  8. Fantastico Autoinstaller (自动安装wordpress, phpBB, Joomla, Drupal)
  9. ….

实例:

我的彩票站网站就是挂在000webhost的虚拟主机上,当初花了2美元在godaddy买了cpzhan.com的域名,然后挂在000webhost上,基本没出什么问题。最让我惊奇的是国内用户竟然也可以访问

另外,你注册一个Email后,000webhost创建无数个帐号(使用自己的域名或者他们提供的免费二级域名)。同一个email下的帐号被放在一个下拉菜单里,很容易管理。

总之,功能太多了,我就不在这里一一介绍,推荐你注册一个,然后自己慢慢体验吧。

>點擊這里注册免费虚拟主机

最后要提的是000webhost是英文网站,如果你在注册或者使用过程里碰到什么问题,请留言,我很乐意帮忙。

标签:

使用wamp碰到的几个问题

在日常工作里我用LAMP(Linux Apache MySQ PHP)比较多。我在日志里曾经提到我开始使用Windows下IDE (NetBean IDE for PHP 其实后来我改用Eclipse了, 至于为什么改用Eclipse,有机会我再介绍。) 既然使用Windows下的IDE,我自然要在Windows下安装Apache,MySQL和PHP,关于如何设置WAMP(Windows Apache MySQ PHP)上网一搜一定会抓到一大把,但是你可能还要花点功夫进行参数修改。而我这次使用到的是WAMP傻瓜安装软件。估计很多朋友也用过或者正在使用,这里也不做详述,只是想做个记录。

  1. 到wampserver官方网站下在WampServer (当前版本2.0i), 英文链接
  2. 下载后安装。很简单什么都是自动的。

下面是我在使用wamp过程中碰到几个问题:

1. Wamp默认安装只是选择性激活apache模块和php extension,例如它没有激活mod_rewrite模块,所以你如果要在.htaccess里定义mod rewrite, 你必需自己激活这个模块。很简单左键点击任务栏wamp图标,选择apache –> apache modules –> rewrite_module

2. 默认安装没有给mySQL的root设置密码,所以当你登入phpMyAdmin (http://localhost/phpmyadmin/)你看到提示信息,建议你设置密码。你可以直接通过phpmyadmin给root设置密码或者通过mysql命令行来修改

  1. 在phpMyAdmin页面,点击Privileges -> User overview –> Edit privileges
  2. 通过命令行设置root密码 (注意:你可能要把c:/wamp/bin添加到Windows的环境变量里,要不然,不可以直接在命令行使用mysql

3. 设置好密码后,重新登入phpMyAdmin,你可能会无法登入。这是因为默认安装下,phpMyAdmin采用自动登入,你更改了密码,但是没有把密码写到phpMyAdmin的配置文件里。解决办法有两种:

方法一:把密码加入配置文件,c:/wmap/apps/phpmyadmin/config.inc.php

$cfg['Servers'][$i]['password'] = 'xxxx';
//这行默认下是密码为空,加入你刚刚修改的密码

方法二:关闭自动登入,依然通过修改c:/wmap/apps/phpmyadmin/config.inc.php

$cfg['blowfish_secret'] = 'cpzhanrock'; //必须加入任意serect字符串。
/* Servers configuration */
$i = 0;
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie'; //设定auth_type为cookie
//把其他cfg['Servers']设置都删除!!!!
//下面为可选配置
$cfg['DefaultLang'] = 'en-utf-8';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';

我认为wamp应该算Windows下安装Apache、MySQL、PHP和phpMyAdmin的最好用的工具软件。

标签:

2009年11月9日星期一

网页同时含有安全性与非安全性的项目

当网页内包含HTTP及HTTPS的内容时,在IE下会出现弹出 "…网页同时含有安全性与非安全性的项目…"的警告讯息;在Firefox下,你将看到有下角的安全锁图标裂开了。这通常不是什么大问题。

如何你在浏览别人的网站,

  1. 在IE下你可以通过:
    工具->选项->安全性->自订等级将『显示混合的内容』由"提示"修改为"启用"即可。
  2. 在Forefox下,你可以忽略那个裂开的安全锁。

如果你拥有这个网站,那么你应该考虑避免在安全页面包含非安全的元素,也就是在https页面里,把http://打头的href用https://或者相对路径代替。当然,前提是该元素可以通过https接入。

https是需要购买安全证书的,不是什么网站随随便便在前面加上https就可以访问,例如:https://www.61dh.com是不可以访问的,因为我没有买安全证书。另外SSL安全证书是和域名对应的,比如说我买了https://secure.61dh.com,它只对sercure.61dh.com生效,而https://www.61dh.com依然无法访问。

如果一个安全页面上含有非安全元素(通常是链接或者图片),并且这些链接不支持安全连接。那么应该怎么办呢?

这里要介绍两个可行解决方案。(注意:下面用到https://secure.61dh.com只是用来举例说明的,它并不存在。)

方法一:在服务器配置文件里加入安全到非安全的跳转

在Apache服务器下,当访问https://安全页面时通常要先到达ssl.conf,而访问不安全页面通常先到达http.conf。所以我们可以在ssl.conf里对某些url进行跳转。这种方法是用于同域名跳转,例如:

RewriteCond   %{REQUEST_URI}  !^/cart/checkout/.*$
RewriteRule   ^/(.*)$         http://%{HTTP_HOST}/$1  [R,L]

上述Rewrite Rule,可以实现 https://secure.61dh.com/cart/http://www.61dh.com/cart 的跳转。

方法二:使用PHP跳转代码

当安全页面含有外部链接时,这个方法很适用。例如在https://secure.61dh.com页面里含有http://www.cpzhan.com的友情链接,我们可以把这个链接用安全链接来表示:

<a href="https://secure.61dh.com/redirect.php?to=http%3a%2f%2fwww.cpzhan.com">
彩票站</a>

注意:这里我用到redirect.php,这个文件支持安全链接,而非安全链接http://www.cpzhan.com被当成变量。redirect.php代码很简单,如下:

<?php
$to    = isset($_GET['to'])      ?  $_GET['to']       : '';
if ($to){
   header("Location: $to") ;
   exit;
}
?>

标签: ,

2009年10月22日星期四

jTester 简单的jQuery测试工具

今天做了一个简单的jQuery测试工具,把它命名为jTester。Google了一下好像这个名字已经有好多人在用,应该没有什么命名侵权的问题吧。:-)

做这个测试工具的原因是,我经常要测试一些jQuery代码,每次都要建立一个新文件,然后还要在header里引用jQuery库,觉得挺麻烦的。现在有了这个工具,我只要在文本框里直接写入HTML正文部分(包括HTML代码和jQuery代码),然后点击按钮就可以查看结果了。

我写的jQuery基础系列文章里有很多jQuery代码片段,初学jQuery的朋友可以把代码直接粘贴到jQuery Tester里,然后进行修改和测试。

这个测试工具是根据著名W3SCHOOLS在线测试工具修改而来,目前功能很简单,准备在今后加入一些新功能,例如:

  1. 可以选择不同的jQuery版本
  2. 语法加亮
  3. 显示错误信息
  4. ...

有兴趣的朋友可以试试看,如果你觉得好用,请推荐给你的朋友;如果你有任何意见或者建议,请留言。谢谢!

请点击这里进入工具

标签: ,