php5.5手册,php51

发布时间:2022-11-30

本文目录一览:

  1. PHP是什么?
  2. php为什么弃用了mysql
  3. 如何把php5.3版本升级到php5.4或者php5.5
  4. php环境搭建问题!
  5. PHP语言是什么语言,用来做什么的?
  6. PHP自定义门面以后显示错误?

PHP是什么?

PHP(中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。 PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多。 PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。 PHP在数据库方面的丰富支持,也是它迅速走红的原因之一,它支持下列的数据库或是数据文件: Adabas 、D、 DBA、dBase 、dbm 、filePro 、Informix 、InterBase、mSQL 、Microsoft SQL Server、·MySQL、Solid、Sybase、 Oracle 、PostgreSQL 而在Internet上它也支持了相当多的通讯协议 (protocol),包括了与电子邮件相关的 IMAP,POP3;网管系统 SNMP;网络新闻NNTP;帐号共用 NIS;全球信息网HTTP及Apache服务器;目录协议LDAP以及其它网络的相关函数。

扩展资料:

PHP的特性包括:

  1. PHP独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。
  2. PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。
  3. PHP支持几乎所有流行的数据库以及操作系统。
  4. PHP可以用C、C++进行程序的扩展。 参考资料: 百度百科--PHP

php为什么弃用了mysql

PHP提供了三种不同的api连接到MySQL,这三种api是:mysql, mysqli以及PDO扩展。MySql函数是非常受欢迎的,但是官方团队并不鼓励再使用它们。在php手册里边,当你看到关于Mysql的函数,会发现都标有红色的标志,那意味着它们已经被弃用了。弃用ext/mysql函数不仅安全,而且使用其他数据库查询方法可以同样具有MySQL函数的所有功能。更好的方法是使用PDO代替ext/mysql函数。 以下是PHP里不应该再使用mysql函数的3大原因:

  1. mysql函数已在PHP5.5中正式弃用,并将在PHP7中被删除。
  2. mysql函数缺少面向对象的接口。
  3. mysql函数不支持以下特性:
  • 不支持非阻塞连续获取
  • 不支持异步查询
  • 不支持参数化查询
  • 不支持存储过程
  • 不支持多个语句
  • 不支持在MySQL 5.1的中所有功能
  • 不支持加密(SSL)
  • 不支持压缩
  • 不支持完整的字符集

如何把php5.3版本升级到php5.4或者php5.5

查看官方手册php5.3到5.4的升级注意事项,更改代码,上线测试。

php环境搭建问题!

哥,这里不给放链接的。。。。 win7 64bit

一、相关准备:

Apache软件:httpd-2.4.10-win64-VC11.zip PHP软件:php-5.5.17-Win32-VC11-x64.zip MySQL软件:mysql-5.6.21-winx64.zip 编译支持环境: vcredist_x64.exe(VC11)(先安装) 运行环境目录:

  • C:\myenv\apache (Apache)
  • C:\myenv\php (PHP)
  • C:\myenv\mysql (MySQL)
  • C:\myenv\sessiontmp (运行期间session存放目录,可读写)
  • C:\myenv\fileuploadtmp (运行期间PHP文件上传存放目录,可读写)

二、安装Apache服务

  1. 解压httpd-2.4.10-win64-VC11.zip变重命名文件夹为apache,将其复制到C:\myenv\目录下。
  2. 编辑C:\myenv\apache\conf\httpd.conf配置文件,主要配置事项如下,红色字体代表新增:
ServerRoot "c:/myenv/apache"
Listen 80
#加载PHP模块
LoadModule php5_module C:/myenv/php/php5apache2_4.dll
PHPIniDir "C:/myenv/php” (注意留一个空格)
ServerAdmin 469085313@qq.com
ServerName 127.0.0.1:80
DocumentRoot "c:/myenv/apache/htdocs"
DirectoryIndex index.php index.html
ScriptAlias /cgi-bin/ "c:/myenv/apache/cgi-bin/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
AddType application/x-httpd-php .htm
  1. 启动Apache服务 管理员身份启动cmd.exe程序 Start apache in a DOS commdline:
httpd.exe

Install as a service:

httpd.exe -k install

Run ApacheMonitor: Double click ApacheMonitor.exe 4. 测试Apache是否正常服务:

三、安装PHP服务插件

  1. 解压php-5.5.17-Win32-VC11-x64.zip变重命名文件夹为php,将其复制到C:\myenv\目录下。
  2. 将C:\myenv\php\php.ini-development配置文件重命名为php.ini配置文件,打开php.ini文件,做如下的配置操作:
;On windows下面的;extension_dir = "ext"

修改为如下:

extension_dir = "C:/myenv/php/ext" 前面的分号;去掉。

开启相应的扩展库功能,比如php_mysql.dll等,即将

extension=php_bz2.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_xmlrpc.dll

这些extension前面的分号;去掉。(;代表注释掉的意思) 配置session文件在服务器上的保存目录

;session.save_path = "/tmp" 前面的分号;去掉

或修改为

session.save_path = "C:/myenv/sessiontmp"(前面的分号;去掉)

配置PHP的文件上传功能

;upload_tmp_dir =

或修改为

upload_tmp_dir = "C:/myenv/fileuploadtmp"(前面的分号;去掉)

配置时间区域

;date.timezone =

修改为

date.timezone = Asia/Shanghai (前面的分号;去掉)

PHP5默认MySQL是关闭的,要将C:\myenv\php文件夹下的libenchant_myspell.dll和C:\myenv\php\ext文件夹里的php_mysql.dll考到C:/Windows/System32里面; 3. 测试Apache+php是否安装成功: (见本文末尾有代码)

四、安装MySQL服务

  1. 解压mysql-5.6.21-winx64.zip变重命名文件夹为mysql,将其复制到C:\myenv\目录下。
  2. 将C:\myenv\mysql\my-default.ini配置文件重命名为my.ini配置文件,打开my.ini文件,做如下的配置操作:
[client]
#设置mysql客户端默认字符集
default-character-set = utf8
[mysqld]
#设置mysql的安装目录
basedir = C:\myenv\mysql
#设置mysql数据库的数据存放目录
datadir = C:\myenv\mysql\data
#设置3306端口
port = 3306
#设置允许最大连接数
max_connections = 200
#设置服务器端字符集
character-set-server = utf8
#创建新表时将使用的默认存储引擎
default-storage-engine = INNODB
# server_id = .....
  1. 启动MySQL 以管理员身份运行cmd.exe,将目录切换到mysql的bin目录下,输入:
mysqld –install

出现安装OK后。接着输入

net start mysql

启动服务 以上表示mysql服务启动成功 设置密码root用户的密码为root15w05 在cmd中输入:

mysql –u root
use mysql;
update user set password=PASSWORD("root15w05") where user='root';
flush privileges;
quit;

root用户密码修改成功! 4. 测试Apache+PHP+MySQL运行环境

http:/localhost/testdbconn.php

PHP语言是什么语言,用来做什么的?

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。 PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。后来又用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。 在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档。并且发布了PHP1.0!在这的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性。比如循环语句和数组变量等等;在新的成员加入开发行列之后,Rasmus Lerdorf 在1995年6月8日将 PHP/FI 公开发布,希望可以透过社群来加速程序开发与寻找错误。这个发布的版本命名为 PHP 2,已经有 PHP 的一些雏型,像是类似 Perl的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。PHP/FI加入了对MySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI。 ISAPI筛选器 在1997年,任职于 Technion IIT公司的两个以色列程序设计师:Zeev Suraski 和 Andi Gutmans,重写了 PHP 的剖析器,成为 PHP 3 的基础。而 PHP 也在这个时候改称为PHP:Hypertext Preprocessor。经过几个月测试,开发团队在1997年11月发布了 PHP/FI 2。随后就开始 PHP 3 的开放测试,最后在1998年6月正式发布 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 发布后开始改写PHP 的核心,这个在1999年发布的剖析器称为 Zend Engine,他们也在以色列的 Ramat Gan 成立了 Zend Technologies 来管理 PHP 的开发。 在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式发布,2004年7月13日则发布了PHP 5,PHP 5则使用了第二代的Zend Engine。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个存取数据库的延伸函数库)、以及许多效能上的增强。PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。 PHP PHP最新稳定版本:5.4.30(2013.6.26) PHP最新发布的正式版本:5.5.14(2014.6.24) PHP最新测试版本:5.6.0 RC2(2014.6.03) 2013年6月20日,PHP开发团队自豪地宣布推出PHP 5.5.0。此版本包含了大量的新功能和bug修复。需要开发者特别注意的一点是不再支持 Windows XP 和 2003 系统。 2014年10月16日,PHP开发团队宣布PHP 5.6.2可用。四安全相关的错误是固定在这个版本,包括修复cve-2014-3668,cve-2014-3669和cve-2014-3670。所有的PHP 5.6鼓励用户升级到这个版本 更多尽在;fr=index

PHP自定义门面以后显示错误?

如果您是PHP老手,当然知道当PHP脚本出错时发生了什么事情。此时PHP解析器将在屏幕上给出错误信息,如 Fatal error: Call to undefined function on line 19 --,因此程序在此处终止。这个信息会吓到客户,他可能立即打电话和你进行咨询。 幸运的是,这里有解决办法。PHP拥有内置工具,可以让开发人员捕捉脚本错误然后将它们转到自定义的错误处理器。此时则可以对处理器进行编程显示更多关于错误的详细信息。还可以将错误写入文件或数据库以采取补救措施。有时候还可以对处理器编写程序忽略错误消息。 本文中,我将阐述如何使用PHP的错误处理API构建用户自定义的错误处理器,并且说明如何以简单而友好的方式显示和管理脚本的错误信息。

错误类型和报告级别

我们从最基本的开始。PHP有三种最基本的错误类型,从低级到高级分别为:注意、警告和错误(或致命错误)。通常情况下,注意和警告不会终止程序;但是致命错误则是危险故障(例如,调用一个没有定义的函数或参考一个不存在的对象),将导致程序中断。这些错误有可能在启动、解析、编译或运行时发生。 关键字如E_NOTICE, E_ERROR等用于表明错误的不同类型和等级。在PHP手册上可以获得它们的详细信息列表。 脚本阶段错误显示由error_reporting()函数进行控制。这一函数针对不同的错误等级设置不同的参数。表A给出了使用此函数报告警告和致命错误的脚本程序。

表A

// display warnings and errors
error_reporting(E_WARNING | E_ERROR);
// this will generate a notice, which will never be displayed
echo $undefinedVar;
// this will generate a fatal error, which will be displayed
callUndefFunc();

将表B中的代码与上面的进行比较发现,Listing B中隐藏错误信息甚至隐藏致命信息,使得错误信息不会被显示出来。

表B

// turn off error display
// no errors will be displayed
error_reporting(0);
// this will generate a notice
echo $undefinedVar;
// this will generate a fatal error
callUndefFunc();

表C中的代码将所有错误信息甚至简单的注意事项都显示出来:

表C

// all errors will be displayed
error_reporting(E_ALL);
// this will generate a notice
echo $undefinedVar;
// this will generate a fatal error
callUndefFunc();

如以上3个例子所示,error_reporting()函数在控制错误发生时,在屏幕上显示内容非常重要。这里的关键字是displayed,其表达的意思是错误不被显示而不是错误没有发生。因此,发生致命错误时(例如不正确的函数调用),程序将被终止;但是,此时没有任何消息显示给用户。 下面的例子(表 D)说明了这种情况:

表D

// no errors will be displayed
error_reporting(0);
// start a task
echo "Starting task...";
// call an undefined function
// a fatal error occurs during task processing
callMe();
// end the task
echo "Successfully completed task...";

在表D中,在调用echo()函数时发生了致命错误,程序执行时到这点被终止,但是却没有任何错误消息给出,用户不知道这种情况还以为程序在正确运行。下面的结论是非常明显的:不给出错误报告非常危险,因为不论过程是否完成它常导致不正确的结论。 注意:调用不带任何参数的error_reporting()将返回当前的错误报告等级。

自定义错误处理器

很明显,隐藏错误报告是不正确的,你肯定想知道有什么其他办法加以改进。自定义错误处理器就是一个很好的能取代PHP默认错误处理系统的解决方法。自定义错误处理器可以以任何方式设置处理错误信息,包括信息如何显示。 PHP函数中,完成这一功能的是set_error_handler()函数。错误发生时,此函数被自动调用,然后给出4个参数:错误代码、错误消息、发生错误的脚本名称和错误出现的行,此函数对错误管理负责。 表E给出一个简单例子:

表E

// define custom handler
set_error_handler('myHandler');
// custom handler code
function myHandler($code, $msg, $file, $line) {
    echo "Just so you know, something went wrong at line $line of your script $file. The system says that the error code was $code, and the reason for the error was: $msg. Sorry about this!";
}
// generate a notice
echo $undefVar;

当运行此脚本的时候,会出现下面的信息: Just so you know, something went wrong at line 11 of your /dev/error1.php. The system says that the error code was 8, and the reason for the error was: Undefined variable: undefVar. Sorry about this! 此时,PHP的默认错误处理器被用户定义的myHandler()函数所取代,$undefVar变量被激活,PHP通知未定义变量的信息,此信息在运行时引擎产生,然后传递给myHandler()函数,同时错误发生的地址也传递给此函数。然后myHandler()函数输出友好信息解释错误。 注意:错误和致命错误很重要,它们会绕过自定义错误处理器,然后以PHP默认的错误处理机制进行显示。显示这些信息可使用前面讨论的标准error_reporting()函数进行控制。

例1:动态错误页面和e-mail警报

表F给出了另一个范例,当发生错误时,将动态产生HTML错误页面,并且通过e-mail向Web管理员进行报告。

表F

// define custom handler
set_error_handler('myHandler');
// custom handler code
function myHandler($code, $msg, $file, $line, $context) {
    // print error page
    echo "<html><head></head><body>";
    echo "<h2 align=center>Error!</h2>";
    echo "<font color=red size=+1>";
    echo "An error occurred while processing your request. Please visit our <a href=\";home page\">/a> and try again.";
    echo "</font>";
    echo "</body></html>";
    // email error to admin
    $body = "$msg at $file ($line), timed at " . date ("d-M-Y h:i:s", mktime());
    $body .= "\n\n" . print_r($context, TRUE);
    mail ("webmaster@domain.dom", "Web site error", $body);
    // halt execution of script
    die();
}
// generate a notice
echo $undefVar;

这里,自定义的错误处理器在遇到错误时动态产生HTML错误页面。此错误信息也能被e-mail信息捕获,然后通过PHP内置的mail()函数发送给管理员。 这里出现了myHandler()函数的一个新参数$context。这是myHandler()函数的第五个参数,是可选项。它包含了当前变量状态的快照。包括对管理员有用的上下文信息,有利于减少调试时间。