我是学电子商务的学生,主要学习方向是电子商务技术层面的东西。学了一年多的时间了,感觉小有收获。
前段时间出去面试flash的时候发现自己和别人的要求差距甚远,回到学校后努力的学习PHP,自我感觉还不错,全班只剩下几个人在学后台语言了,不知道是因为有了上一次的打击还是因为我适合学PHP,自认为学得比较快,至少比周围的大多数同学学得快。
经过上一次的教训侯我深深的知道,自己只不过是井底之蛙而已,要学得还很多。 不过我对学校的感觉不怎么好,老师只教一些入门的知识,课程安排完了就走人的。如果想有更大的提高就得完完全全的靠自己了。
得到朋友的推荐,久到CSDN来看看了,没想到CSDN有一个学生的板块,很自然的就注册进来和众多高手学习了。在此希望同是学习php、JSP的朋友能给与指点。 ......
一、apache 源码安装
./configure --prefix=/usr/local/apache --enable-so
make
make install
注:安装后如果改变apache起始目录(工作目录),可能会出现403错误,此时修改httpd.conf中的User和Group为你改变后
的起始目录所属的用户和组即可!
如root用户安装apache,则缺省配置为
User daemon
Group daemon
你改变DocumentRoot为一oracle用户目录,则修改配置为
User oracle
Group dba
二、 php 源码安装
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-oci8=/opt/ora/product/11.2.0/dbhome_1 --with-oci8=$ORACLE_HOME
make
make install
cp php.ini-development /usr/local/lib/php.ini
修改php.ini 添加
extension=oci8.so
修改httpd.conf 添加
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
修改/etc/profile 添加
PA ......
【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$ _POST['foo'],$_SESSION['foo']来得到。当然也可以修改自动全局变量为开(php.ini改为 register_globals = On);考虑到兼容性,还是强迫自己熟悉新的写法比较好。
【2】Win32下apache2 用get方法传递中文参数会出错:test.php?a=你好&b=你也好
传递参数是会导致一个内部错误
解决办法:"test.php?a=".urlencode(你好)."&b=".urlencode(你也好)
【3】win32下的session不能正常工作
php.ini默认的session.save_path = /tmp
这显然是linux下的配置,win32下php无法读写session文件导致session无法使用,把它改成一个绝对路径就可以了,例如session.save_path = c:windows emp
【4】显示错误信息
当php.ini的display_errors = On并且error_reporting = E_ALL时,将显示所有的错误和提示,调试的时候最好打开以便纠错,如果你用以前php写法错误信息多半是关于未定义变量的。变量在赋值以前调用会有提示,解决办法是探测或者屏蔽。
例如显示$foo,可以if(isset($foo)) echo $ ......
转贴自: http://hi.baidu.com/isnono/blog/item/3c94ea11a54a0fc7a7ef3f94.html
经常在CSDN的PHP论坛上看到有朋友问处理在线用户的问题,我写过类似的代码,就拿出来献丑了,有点垃圾,基本上实现了功能, 同是也能够扩展,比如同时只允许一个帐号在线等。
/*
程序用途:检测在线用户
程序作者:heiyeluren
写作时间:2004/6
*/
<? session_cache_limiter("private,max-age=10800"); ?>
<? @session_start(); ?>
<? include("Function.php"); ?>
<? include("ConnDB.php"); ?>
<? include("Const.php"); ?>
<?php
//在线用户处理
if (isset($user_name))//如果session写了,那么用户已经登陆
{
$result = mysql_query("SELECT * from aliang_online WHERE OnlineUser = '$user_name' ") or die($die_msg."用户有没有写入在线列表");
//查询看看用户有没有写入在线列表
$num = mysql_num_rows($result);
if ($num != 0) //如果已经写入了在线列表,就更新最后在线时间和状态
{ //$now_time是自定义的一个常量,代表现在时间的时间戳,该常量在const.php中设置
......
/*
* 功能:PHP
图片水印 (水印支持图片或文字)
* 参数:
* $product_img 背景图片,即需要加水印的图片,暂只支持GIF,JPG,PNG格式;
* $waterPos 水印位置,有10种状态,0为随机位置;
* 1为顶端居左,2为顶端居中,3为顶端居右;
* 4为中部居左,5为中部居中,6为中部居右;
* 7为底端居左,8为底端居中,9为底端居右;
* $waterImage 图片水印,即作为水印的图片,暂只支持GIF,JPG,PNG格式;
* $waterText 文字水印,即把文字作为为水印,支持ASCII码,不支持中文;
*&nb ......
java中时间戳和时间字符串之间的转换
获取当前的unix时间戳
new Date().getTime()
System.currentTimeMillis()
返回的是毫秒数,要转换long t = System.currentTimeMillis()/1000;
获取当前年月日以及时分秒
Calendar c = Calendar.getInstance();
c.get(Calendar.YEAR)) c.get(Calendar.YEAR)) c.get(Calendar.DATE)
将UNIX时间戳转换成时间字符串
new SimpleDateFormat("yyyy/MM/dd").format(new Date(timestamp*1000));
将时间字符串转换成UNIX时间戳
new java.text.SimpleDateFormat (”dd/MM/yyyy HH:mm:ss”).parse(”09/22/2008 16:33:00″).getTime()
在java中字符串和unix时间戳之间有一个中专类型是Date
Date.getTime() 由Date到unixtime
new Date(unixtime) 由unixtime到Date
注意:
请注意!对与不同的时区处理上有差异,首先要清楚自己所在的时区。
String timezone_info = System.getProperty(”user.timezone”);
System.out.println(”当前的时区:”+timezone_info);
System.out.println(”时区信息:”+TimeZone.getDefault());
输出:
当前的时� ......
java中时间戳和时间字符串之间的转换
获取当前的unix时间戳
new Date().getTime()
System.currentTimeMillis()
返回的是毫秒数,要转换long t = System.currentTimeMillis()/1000;
获取当前年月日以及时分秒
Calendar c = Calendar.getInstance();
c.get(Calendar.YEAR)) c.get(Calendar.YEAR)) c.get(Calendar.DATE)
将UNIX时间戳转换成时间字符串
new SimpleDateFormat("yyyy/MM/dd").format(new Date(timestamp*1000));
将时间字符串转换成UNIX时间戳
new java.text.SimpleDateFormat (”dd/MM/yyyy HH:mm:ss”).parse(”09/22/2008 16:33:00″).getTime()
在java中字符串和unix时间戳之间有一个中专类型是Date
Date.getTime() 由Date到unixtime
new Date(unixtime) 由unixtime到Date
注意:
请注意!对与不同的时区处理上有差异,首先要清楚自己所在的时区。
String timezone_info = System.getProperty(”user.timezone”);
System.out.println(”当前的时区:”+timezone_info);
System.out.println(”时区信息:”+TimeZone.getDefault());
输出:
当前的时� ......
java中时间戳和时间字符串之间的转换
获取当前的unix时间戳
new Date().getTime()
System.currentTimeMillis()
返回的是毫秒数,要转换long t = System.currentTimeMillis()/1000;
获取当前年月日以及时分秒
Calendar c = Calendar.getInstance();
c.get(Calendar.YEAR)) c.get(Calendar.YEAR)) c.get(Calendar.DATE)
将UNIX时间戳转换成时间字符串
new SimpleDateFormat("yyyy/MM/dd").format(new Date(timestamp*1000));
将时间字符串转换成UNIX时间戳
new java.text.SimpleDateFormat (”dd/MM/yyyy HH:mm:ss”).parse(”09/22/2008 16:33:00″).getTime()
在java中字符串和unix时间戳之间有一个中专类型是Date
Date.getTime() 由Date到unixtime
new Date(unixtime) 由unixtime到Date
注意:
请注意!对与不同的时区处理上有差异,首先要清楚自己所在的时区。
String timezone_info = System.getProperty(”user.timezone”);
System.out.println(”当前的时区:”+timezone_info);
System.out.println(”时区信息:”+TimeZone.getDefault());
输出:
当前的时� ......