当前位置:  编程技术>php
本页文章导读:
    ▪WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略       I finally got this to work, so I will post my findings here.  //PHP 5 : Windows build needs a MySQL DLL  //PHP 5.0 doesn't come with mysql support... You have to get the librariesyourself...   //I think u can .........
    ▪PHP初学者头疼问题总结       【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到  当然也可以修改.........
    ▪php计数器的设计与实现第1/2页       本程序有4个计数器。 index.php是一个普通的计数器可以看出总次数和哪个人来这个站点的次数,点几次加几次,不防水。 index1.php也是一个防水的计数器可以看出次数和哪个人来这个站点的.........

[1]WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
    来源: 互联网  发布时间: 2013-12-24
I finally got this to work, so I will post my findings here. 

//PHP 5 : Windows build needs a MySQL DLL 
//PHP 5.0 doesn't come with mysql support... You have to get the librariesyourself...  
//I think u can get them from mysql.com 

// PHP 5 Beta 2  
//The file php_mysql.dll comes with these snapshots, as well as a new version of libmySQL.dll,  
//so I suggest a full upgrade to Beta 2 instead of just extracting php_mysql.dll for use with Beta 1. 

-------------------------------------------------------- 
到 www.jetdown.com 下载下面三种软件,做好安装准备 

apache_2.0.47-win32-x86-no_ssl.msi 
mysql-4.0.14-win.zip 
phpMyAdmin-2.5.3-rc1-php.zip 
---------------------------------------------------------------------------------------------- 
PHP 5 Beta 2 http://snaps.php.net/win32/php5-win32-latest.zip size:5.87 MB (6,162,835 bytes) 
---------------------------------------------------------------------------------------------- 

<1>安装配置PHP 
  1.解压缩PHP压缩包到C:\php\ 

2.复制C:\php\目录下的php4ts.dll及C:\php\dlls目录下的所有文件到windows安装目录的系统文件夹里 
(win9x/me是system目录,winNT,2k/winXP,2003是system32目录) 

复制C:\php\php.ini-dist到windows安装目录下(如:c:\windows),并将其改名为php.ini。用记事本打开,修改一下信息: 
  搜索extension_dir = ./ 这行,并将其路径指到你的PHP目录下的extensions目录,比如: 
  extension_dir = C:\php\extensions 

  如若想支持更多模块,,搜索: 
;Windows Extensions 
;Note that MySQL and ODBC support is now built in, so no dll is needed for it. 

下面都用分号在前面注释掉了支持的扩展模块,如果你想PHP支持某个模块,请将前面的“;”去掉即可 
修改完成后,保存php.ini,到此完成PHP的安装和配置。 
我们在下面加入一行 
extension=php_mysql.dll 

//Note 1: The extension dir need not be ".\", as Hermawan mentioned. It works fine for me with the extensions subdir where the other extensions are located. 

//Note 2: The php.ini file need not be in the Apache root, as lars mentioned. It works fine for me in the Windows dir. 

<2>安装Apach2 
1.备份 C:\Program Files\Apache Group\Apache2\conf\httpd.conf 文件。 
2.用记事本打开C:\Program Files\Apache Group\Apache2\conf\httpd.conf 
找到: 
#NameVirtualHost * 
修改为: 
NameVirtualHost 127.0.0.1 //或localhost 
找到: 
<VirtualHost 127.0.0.1> 
修改下面几行: 
ServerAdmin (你刚才安装时候输入的管理员信箱) 
DocumentRoot C:\Program Files\Apache Group\Apache2\htdocs 
ServerName Apache2 
ErrorLog C:\Program Files\Apache Group\Apache2\logs\error_log 
CustomLog C:\Program Files\Apache Group\Apache2\logs\access_log common 
</VirtualHost> 
找到: 
AddType application/x-tar .tgz 
在下面添加以下两行: 
AddType application/x-httpd-php .php 
AddType image/x-icon .ico 
找到: 
#LoadModule ssl_module modules/mod_ssl.so 
在下面添加一行: 
LoadModule php5_module C:\php\sapi\php4apache2.dll //这里php5_module是关键,如果php4_module apache就无法启动了  
增加默认文件: 
找到DirectoryIndex * 这行,可以这样修改,添加默认的文件名: 
DirectoryIndex index.php default.php index.htm index.html default.htm default.html 
保存文件,重起apache服务器。 

最后,在该文件末尾加上下面两行 
ScriptAlias /php/ "c:/php/" 
Action application/x-httpd-php "/php/php.exe“ 

到此Apache的PHP环境已经完全建立了。 

<3>测试: 
  用记事本新建个文件,写下下面几行,保存到C:\Program Files\Apache Group\Apache2\htdocs目录下,这个目录就是你的站点跟目录,命名为phpinfo.php.然后在浏览器中输入http://localhost/phpinfo.php 就可以看到想尽的关于PHP的信息了。 

phpinfo.php代码如下:  
<?php 

phpinfo(); 

?>  

<4>安装mysql  

1.按默认安装在C:\mysql 

Copy the following files to the Apache modules directory: 

php\php4ts.dll 
php\sapi\php4apache2.dll 
php\dlls\iconv.dll 

If any of these files are missing in the modules directory, Apache will fail to start. 

Be sure the extension can find the following files: 

php_mysql.dll  
iconv.dll 
libmySQL.dll 

If any of them can't be found, Apache will start but will issue a warning like this: "Unknown(): Unable to load dynamic library 'c\php\extensions\php_mysql.dll" - The specified module could not be found." 

php_mysql.dll should be in the extensions directory. 

iconv.dll should be in the Apache modules directory. 

libmySQL.dll must be either in the Apache root directory or the Windows system directory. I prefer the former because it's cleaner, as other applications don't necessarily use this MySQL library version. 

Note 3: Be sure to use the libmySQL.dll file bundled with PHP. In my case, trying to use the libmySQL.dll from the MySQL 4.1 alpha package resulted in this error message: "Unknown(): Unable to load dynamic library 'c:\php\extensions\php_mysql.dll" - The specified procedure could not be found." 

Start Apache and everything should be fine. 

2.运行C:\mysql\bin\winmysqladmin.exe 设定user 和password 
3.运行mysql,测试一下 
mysql> show databases; 

+-----------+  
| Databases |  
+-----------+  
| mysql |  
| test |  
+-----------+  

如果出现以上画面,表明mysql已经安装成功;  

2.更改MySQL系統之管理者密碼(新密碼的地方,換成您要設定的密碼) 
mysql> UPDATE user SET password=password('新密碼') where user='root'; 

3.编辑php5中的启动文件php.ini,将mysql和php5连接起来. 
mysql.default_port= 
mysql.default_host= 
mysql.default_user= 
mysql.default_password= 
改为: 
mysql.default_port=3306 说明的是mysql的缺省端口一般为3306  
mysql.default_host=localhost 说明的是mysql的缺省主机名称 
mysql.default_user=jinchao 说明的是mysql的缺省的用户名(root是最高级用户) 
mysql.default_password=666666 设置管理员的口令 

修改完后将apache重启,查看phpinfo页面. 

<5>安装phpmyadmin 

修改 C:\Program Files\Apache Group\Apache2\htdocs\phpMyAdmin\config.inc.php  
查找以下这么一段: 
$i = 0; 
// The $cfg['Servers'] array starts with $cfg['Servers'][1]. Do not use $cfg['Servers'][0]. 
// You can disable a server config entry by setting host to ''. 
在这段之后再继续查找: 

找到 $cfg['Servers'][$i]['auth_type'] = 'cookie'; 將 『 config 』改為 『 cookie 』或 『 http 』 
找到$cfg['Servers'][$i]['host'] = 'localhost'; 视情况做相应修改 
找到$cfg['Servers'][$i]['user'] = 'root'; 视情况做相应修改 
找到$cfg['Servers'][$i]['password'] = ''; 视情况做相应修改 
找到$cfg['Servers'][$i]['port'] = '3306'; 视情况做相应修改 

    
[2]PHP初学者头疼问题总结
    来源: 互联网  发布时间: 2013-12-24
【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\temp 
【4】显示错误信息 
当php.ini的display_errors = On并且error_reporting = E_ALL时,将显示所有的错误和提示,调试的时候最好打开以便纠错,如果你用以前php写法错误信息多半是关于未定义变量的。变量在赋值以前调用会有提示,解决办法是探测或者屏蔽 
例如显示$foo,可以if(isset($foo)) echo $foo 或者echo @$foo 
【5】Win32下mail()不能发送电子邮件 
在linux下配置好的sendmail可以发送,在win32下需要调用smtp服务器来发送电子邮件 
修改php.ini的SMTP = ip //ip是不带验证功能的smtp服务器(网上很难找到) 
php发送邮件的最好解决方法是用socket直接发送到对方email服务器而不用转发服务器 
【6】初装的mysql如果没有设置密码,应该使用 
update mysql.user set password="yourpassword" where user="root" 
修改密码 
【7】header already sent 
这个错误通常会在你使用HEADER的时候出现,他可能是几种原因:1,你在使用HEADER前PRING或者ECHO了2.你当前文件前面有空行3.你可能INCLUDE了一个文件,该文件尾部有空行或者输出也会出现这种错误。! 
【8】更改php.ini后没有变化 
重新启动web server,比如IIS,Apache等等,然后才会应用最新的设置 
【9】php在2003上面安装(ISAPI的安装方法恳请高手指教) 
PHP4的php4isapi.dll好像和2003有些冲突,只能用CGI模式安装 
步骤一,先www.php.net下在一个安装程序,我是装的是:php-4.2.3-installer.exe,你也可以去找最新的版本,在安装php-4.2.3-installer.exe之前保证你的IIS6.0启动了,并能够访问。 安装好以后,在默认网站-->应用程序配置 
步骤二:点击 web服务扩展 -->新建web服务扩展. 
步骤三: 扩展名-->php,然后添加 
步骤四:找到php.exe的路径添加上去。 
步骤五: 确定就可以了! 
步骤六: 选择php的服务扩展,然后点击允许。 
【10】 
有时候sql语句不起作用,对数据库操作失败 
最简便的调试方法,echo那句sql,看看变量的值能得到不 
【11】include和require的区别 
两者没有太大的区别,如果要包含的文件不存在,include提示notice,然后继续执行下面的语句,require提示致命错误并且退出 
据我测试,win32平台下它们都是先包含后执行,所以被包含文件里最好不要再有include或require语句,这样会造成目录混乱。或许*nux下情况不同,暂时还没测试 
如果一个文件不想被包含多次可以使用include_once或require_once## 读取,写入文档数据 
function r($file_name) { 
$filenum=@fopen($file_name,"r"); 
@flock($filenum,LOCK_SH); 
$file_data=@fread($filenum,filesize($file_name)); 
@fclose($filenum); 
return $file_data; 

function w($file_name,$data,$method="w"){ 
$filenum=@fopen($file_name,$method); 
flock($filenum,LOCK_EX); 
$file_data=fwrite($filenum,$data); 
fclose($filenum); 
return $file_data; 


【12】isset()和empty()的区别 
两者都是测试变量用的 
但是isset()是测试变量是否被赋值,而empty()是测试一个已经被赋值的变量是否为空 
如果一个变量没被赋值就引用在php里是被允许的,但会有notice提示 
如果一个变量被赋空值,$foo=""或者$foo=0或者 $foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是说赋空值不会注销一个变量。 
要注销一个变量,可以用 unset($foo)或者$foo=NULL 
【13】mysql查询语句包含有关键字 
php查询mysql的时候,有时候mysql表名或者列名会有关键字 
这时候查询会有错误。例如表名是order,查询时候会出错 
简单的办法是sql语句里表名或者列名加上`[tab键上面]来加以区别 
例如select * from `order` 
【14】通过HTTP协议一次上传多个文件的方法 
有两个思路,是同一个方法的两种实现。具体程序还需自己去设计 
1,在form中设置多个文件输入框,用数组命名他们的名字,如下: 
<form action="" method=post> 
<input type=file name=usefile[]> 
<input type=file name=usefile[]> 
<input type=file name=usefile[]> 
</form> 
这样,在服务器端做以下测试 
echo "<pre>"; 
print_r($_FILES); 
echo "</pre>"; 

1,在form中设置多个文件输入框,但名字不同,如下: 
<form action="" method=post> 
<input type=file name=usefile_a> 
<input type=file name=usefile_b> 
<input type=file name=usefile_c> 
</form> 
在服务器端做同样测试: 
echo "<pre>"; 
print_r($_FILES); 
echo "</pre>"; 

    
[3]php计数器的设计与实现第1/2页
    来源: 互联网  发布时间: 2013-12-24
本程序有4个计数器。
index.php是一个普通的计数器可以看出总次数和哪个人来这个站点的次数,点几次加几次,不防水。
index1.php也是一个防水的计数器可以看出次数和哪个人来这个站点的次数,点几次加几次,防水,5秒加一次。
index2.php是一个防水的计数器可以看出总次数和哪个人来这个站点的次数,点几次加几次,防水,2秒加一次。
indexa.php是一个普通和防水和图形的计数器3合一的。可以看出总次数和哪个人来这个站点的次数,防水,有图形。


关键语句:
防水的:$sql = "SELECT COUNT(*) FROM `counter_1` WHERE user='$user' AND TIME_TO_SEC(NOW()-`time`) < 5 AND ip='$REMOTE_ADDR'";
图形计数器: for ( $i=0; $i< strlen($row[0]);$i++)
    {
        $digit= substr($row[0],$i,1);

        $pic.="<img src=/index.html"timex/$digit.gif\" width=\"15\" height=\"20\">";
       }

<?

 //------[ 基本设定 ]-------
 $mysql_server_name = "localhost";
 $mysql_username    = "root";
 $mysql_password    = "512783";
 $mysql_database    = "jishuqi";
 //-------

 //准备好你的sql
 $sql = "INSERT INTO `counter_1` ( `user` , `ip` , `time` ) VALUES ('$user', '$ip', NOW( ) );";

 $conn=mysql_connect( $mysql_server_name, $mysql_username, $mysql_password); 
 mysql_select_db($mysql_database,$conn);
 $result = mysql_query($sql);
 //$id = mysql_insert_id();
 mysql_close($conn); 

   //建立连接------通过(伺服器地址,使用者名称,使用者密码)
 $conn=mysql_connect( $mysql_server_name, $mysql_username, $mysql_password );

 //准备好你的SQL语法
 $sql = "SELECT COUNT(*) FROM `counter_1`";

 //进行查询(或者叫做执行,选取)
 $result=mysql_db_query( $mysql_database, $sql,$conn ); 

 //将查询后的结果-->抓出一笔
 $row1=mysql_fetch_row($result);

 //印出该笔资料的所有栏位的阵列
 //print_r($row1);

 //清除查询结果
 mysql_free_result($result);

 

   //建立连接------通过(伺服器地址,使用者名称,使用者密码)
 $conn=mysql_connect( $mysql_server_name, $mysql_username, $mysql_password );

 //准备好你的SQL语法
 $sql = "SELECT COUNT(*) FROM `counter_1` WHERE user='$user'";

 //进行查询(或者叫做执行,选取)
 $result=mysql_db_query( $mysql_database, $sql,$conn ); 

 //将查询后的结果-->抓出一笔
 $row2=mysql_fetch_row($result);

 //印出该笔资料的所有栏位的阵列
 //print_r($row2);

 //清除查询结果
 mysql_free_result($result);
?>

 


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>3种计数器</title>
<style type="text/css">
<!--
.style1 {
 font-size: 24px;
 color: #00FF99;
}
.style2 {color: #FF00FF}
.style3 {color: #CC0033}
.style4 {color: #0000FF}
.style5 {color: #FF0000}
.style6 {
 font-size: 36px;
 color: #996633;
}
-->
</style>
</head>

<body>
<div align="center" >枫树林下
</div>
<div align="center">
  <p > </p>
  <p > </p>
  <p ><span >总共有</span><?=$row1[0]; ?><span >人</span><span >来过</span><span >这个网站
</span></p>
  <p ><span >总共有</span><?=$row2[0]; ?><span >人</span><span >来过</span><span ><?=$user?>网站
  </span>
          </p>
</div>
</body>
</html>


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3