导航:首页 > 编程语言 > php55与php52

php55与php52

发布时间:2022-05-21 01:46:44

‘壹’ 错误位置 FILE: C:\tianhuan\simplewind\Core\Library\Think\Db\Driver\Mysql.class.php LINE: 55

第一行写着,Unknown database。
就是说数据库的配置有问题,数据库的库名写错了。

你检查一下,我曾通犯过个错误,就是库名打多了个空格,检查了好久才发现。
-------------------------------------------------------------------------------
在index.php加设置define('APP_DEBUG', true);
然后进入Application\Runtime\Logs,把对就model的错误日志发过来分析才行。

‘贰’ linux下phpstudy怎么安装php环境变量

linux下phpstudy环境的安装
phpStudy Linux版&Win版同步上线 支持Apache/Nginx/Tengine/Lighttpd/IIS7/8/6
phpStudy for Linux 支持Apache/Nginx/Tengine/Lighttpd,
支持php5.2/5.3/5.4/5.5切换
已经在centos-6.5,debian-7.4.,ubuntu-13.10测试成功。
下载版:http//lamp.phpstudy.net/phpstudy.bin
完整版:http//lamp.phpstudy.net/phpstudy-all.bin
安装:
wget -c http//lamp.phpstudy.net/phpstudy.bin
chmod +x phpstudy.bin #权限设置
./phpstudy.bin #运行安装
用时十到几十分钟不等,安装时间取决于电脑的下载速度和配置。
也可以事先下载好完整,安装时无需下载。
安装完成
如何切换php版:
假如你先安装的apache+php5.3
想切换成nginx+php5.4
你就再走一次./phpstudy.bin
但是你会发现有一行是否安装mysql提示选不安装
这样只需要编译nginx+php5.4
从而节省时间,这样只需要几分钟即可。
项目地址:http://lamp.phpstudy.net/
使用说明:
服务进程管理:phpstudy (start|stop|restart|uninstall)
站点主机管理:phpstudy (add|del|list)
ftpd用户管理:phpstudy ftp (add|del|list)
=phpstudy WIN版下载==================
‘软件简介’
该程序包集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序绿色小巧简易迷你仅有35M,有专门的控制面板。总之学习PHP只需一个包。
对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事;对老手来说也是一件烦琐的事。因此无论你是新手还是老手,该程序包都是一个不错的选择。
1、全面适合 Win2000/XP/2003/win7/win8/win2008 操作系统 ,支持Apache、IIS、Nginx和LightTPD。
2、该程序包集成以下软件,括号内为phpstudy下对应的目录。
php 5.6a3 (php56n)
php 5.5.10 (php55)
php 5.5.10-nts (php55n)
php 5.4.26 (php54)
php 5.4.26-nts (php54n)
php 5.3.28 (php53)
php 5.3.28-nts (php53n)
php 5.2.17 (php52)
Apache 2.4.7 (Apache)
Nginx 1.5.11 (nginx)
LightTPD 1.4.32 (Lighttpd)
MySQL 5.5.36 (MySQL)
MySQL-Front 5.3 (SQL-Front)
phpMyAdmin 3.5.8.2 (phpMyAdmin)
pear 1.9.4 (pear)
OpenSSL 1.0.1e&0.9.8y
ZendOptimizer 3.3.3 (php5.2有)
Zend Loader 5.5.0 (php5.3有)
Zend Loader 6.0.0 (php5.4有)
wincache 1.3.5 (fastcgi有)
php_opcache 7.0.3 (ZendOpcache扩展)
xdebug 2.2.3.1
Zend Debugger 6.2 (php5.3/4 fastcgi有)
xcache 3.1.0
eAccelerator 1.0&0.9.6
php_sqlsrv (MSSQL扩展)
php_pdo_sqlsrv (PDO-MSSQL扩展)
php_mongo 1.4.5 (MongoDB扩展)
php_dbase 5.1.0 (dbase扩展)
php_dbx 1.1.2 (dbx扩展)
php_ibm_db2 1.9.5 (ibm_db2扩展)
php_apc 3.1.13 (php_apc扩展)
php_memcache 3.0.8
phpStudy Ftp server (FTPServ)
SendMail 3.2 (sendmail)
VC++ 2008 运行库
3、MySQL数据库默认用户名:root,密码root,安装后请重新设置密码。
4、本程序纯绿色,支持22种组合一键切换,支持系统服务和非服务两种启动方式,自由切换。改变安装路径或拷贝到别的电脑上也可正常运行;即便是运行完再更改路径也能运行,真正做到无须配置。重写控制面板更加有效直观地进行控制程序的启停。
5、自带FTP服务器,支持多用户,无需再安装FTP服务器。自带网站挂马监视器,随时记录文件的修改情况,让挂马文件无处可逃。
6、本程序完美支持II7,IIS8和IIS6。应网友的要求制作Nginx版和Lighttpd版。Nginx版为phpfind,Lighttpd版为phpLight。
推荐:学习JSP用JspStudy。
‘软件简介’
JspStudy集成JDK+tomcat+Apache+mysql,JSP环境配置一键启动。无需修改任何配置即可迅速搭建支持JSP的服务器运行环境。
纯绿色解压即可,支持系统服务和非服务两种启动方式,自由切换。控制面板更加有效直观地进行控制程序的启停。
JspStudy将复杂的JSP环境配置简单化。
‘特别注意’
1. 为了减少出错安装路径不得有汉字,如有防火墙开启,会提示是否信任httpd、mysqld运行,请选择全部允许。
2. 此为apache+php方案,需要Nginx+php方案的请到www.phpStudy.net下载phpfind,Lighttpd+PHP方案下载phpLight。
3. 重装系统后或相关服务丢失时,只需要点一下‘运行模式-应用’即可。
4. 可通过菜单‘卸载相关服务’进行卸载相关服务。
5. 在‘启动’、‘停止’、‘重启’三个启停按钮上右键可以有选择地进行启停,左键将控制全部的启停。
6. 菜单‘phpStudy 设置’可以进行php,apche,mysql的相关设置。菜单‘站点域名设置’可以进行站点及域名的添加。
7. 本程序分为安装版和非安装版,无论是安装还是免安装,最后的效果完全一致。
8. 端口问题无法启动时,请使用菜单‘环境端口检测’进行端口检测,尝试启动。
26种组合一键切换apache+php
php扩展管理超级方便
nginx+php
IIS7/8/6+php
mysql备份还原导入导出
站点域名设置
端口检测
博客不再更新,请到官方网站下载:http://www.phpstudy.net/
下载地址解压版:http://www.phpstudy.net/phpstudy/phpStudy.zip
下载地址安装版:http://www.phpstudy.net/phpstudy/phpStudy-install.zip
其他版本:
软件简单说明各版本的区别大小下载
phpStudy26种组合,超全大合集Apache+Nginx+LightTPD+IIS
php5.2 php5.3 php5.4 php5.5 php5.6
MySQL phpMyAdmin MySQL-Front
26种组合自由切换,是下面5个版本的合集
同时支持apache/nginx/Lighttpd和IIS7/8/636M解压版
安装版
phpStudy
Lite
新手用,经典wamp组合Apache+php5.3+php5.4+MySQL (wamp集成包)
没有上面合集复杂的多版本设置,简单适合新手。16M解压版
phpStudy
for IIS
IIS服务器专用IIS+php5.2+php5.3+php 5.4+MySQL
php一键安装包 for IIS7/8/6 (IIS服务器专用)21M解压版
phpStudy
for Linux
Linux服务器专用(lamp)Apache+Nginx+LightTPD+MySQL
php5.2+php5.3+php5.4+php5.5一键安装包
支持centos,ubuntu,debian等Linux系统,12种组合80M安装版
phpfindnginx+php组合(wnmp)Nginx+php5.3+php5.4+MySQL (wnmp集成包)
nginx+php组合,适合喜欢用nginx的朋友16M解压版
phpLightlighttpd+php组合(wlmp)Lighttpd+php5.3+php5.5+MySQL (wlmp集成包)17M解压版
phpStudy
(php5.2)
apache+php5.2珍藏版Apache2.2+php5.2.17+MySQL5.1
php5.2经典组合值得收藏,仅有11M,无需运行库11M解压版
JspStudyJSP环境一键安装包JDK+tomcat+Apache+mysql+php
纯绿色解压即可,不添加环境变量,不修改注册表52M解压版
下载地址:
php5.3+php5.4合集下载: http//www.phpstudy.net/phpstudy/phpStudy.zip

‘叁’ php5.3.8 与php 5.6 哪个更好

版本没有好坏之分,只有需要之分
PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,Phar
PHP5.6: 常量增强,可变函数参数,命名空间增强

‘肆’ php 生成类似这样的数组怎么做到呢

如果php版本 >= 5.5

使用函数array_column


如果<5.5 自定义函数

$arr=array(
array('id'=>1),
array('id'=>2)
);

functiontest($arr,$key){
returnarray_map(function($val)use($key){return$val[$key];},$arr);
}

print_r(test($arr,'id'));

print_r(array_column($arr,'id'));

‘伍’ windows下nginx服务器下怎么装php

你可以使用护卫神.nginx大师,一键可以安装nginx+php

‘陆’ windows phpstudy的apache下面为啥没有php.ini

是因为你找错了位置,并不在这个文件夹里面,
程序包集成以下软件,括号内为phpstudy下对应的目录。
php 7.0.1 (php70n)
php 5.5.30-nts (php55n)
php 5.4.33-nts (php54n)
php 5.3.29 (php53)
php 5.3.29-nts (php53n)
php 5.2.17 (php52)
Apache 2.4.18 (Apache)
Nginx 1.9.9 (nginx)
MySQL 5.7.10 (MySQL)
MySQL-Front 5.3 (SQL-Front)
phpMyAdmin 3.5.8.2 (phpMyAdmin)
ZendOptimizer 3.3.3 (php5.2有)
Zend Loader 5.5.0 (php5.3有)
Zend Loader 6.0.0 (php5.4有)
wincache 1.3.5 (fastcgi有)
php_opcache 7.0.3 (ZendOpcache扩展)
xdebug 2.2.5
xcache 3.1.0
eAccelerator 1.0&0.9.6
php_sqlsrv (MSSQL扩展)
php_pdo_sqlsrv (PDO-MSSQL扩展)
SendMail 3.2 (sendmail)
每个php版本的文件夹下面都有php.ini,但是生效的只是你当前正在运行的这个版本下面的PHP.ini
查看你的选择的PHP版本,然后就去对应的php版本文件夹下面,php.ini在这里面,

‘柒’ php4与php5区别具体有哪些

新的对象模式

PHP5 中的对象已经进行了较系统、较全面的调整,现在的样子可能看起来会有些类似于 Java。本小节着重讲述 PHP5 中新的对象模式,并举了一些较简易的例子来说明。就让本节成为你的 PHP5 之旅的一个新起点吧。:)

* 构造函数和析构函数
* 对象的引用
* 对象的克隆
* 对象中的私有、公共及受保护模式
* 接口 (Interfaces)
* 抽象类
* __call
* __set 和 __get
* 静态成员

构造函数和析构函数

在 PHP4 中,当函数与对象同名时,这个函数将成为该对象的构造函数,并且在 PHP4 中没有析构函数的概念。
在 PHP5 中,构造函数被统一命名为 __construct,并且引入了析构函数的概念,被统一命名为 __destruct。

例一:构造函数和析构函数

<?php
class foo {
var $x;
function __construct($x) {
$this->x = $x;
}
function display() {
print($this->x);
}
function __destruct() {
print("bye bye");
}
}
$o1 = new foo(4);
$o1->display();
?>
在上面的例子中,当你终止调用 foo 类的时候,其析构函数将会被调用,上例中会输出 “bye bye”。

对象的引用

众所周知,在PHP4 中,传递变量给一个函数或方法,实际是把这个变量做了一次复制,也就意味着你传给函数或方法的是这个变量的一个副本,除非你使用了引用符号 “&” 来声明是要做一个引用,而不是一个 Copy。在 PHP5 中,对象总是以引用的形式存在的,对象中的赋值操作同样也都是一个引用操作。

例二:对象的引用

<?php
class foo {
var $x;
function setX($x) {
$this->x = $x;
}
function getX() {
return $this->x;
}
}
$o1 = new foo;
$o1->setX(4);
$o2 = $o1;
$o1->setX(5);
if($o1->getX() == $o2->getX()) print("Oh my god!");
?>

对象的克隆

如上所述,当一个对象始终以引用的形式来被调用时,如果我想得到该对象的一个副本,该怎么办呢?PHP5 提供了一个新的功能,就是对象的克隆,语法为 __clone。

例三:对象的克隆
<?php
class foo {
var $x;
function setX($x) {
$this->x = $x;
}
function getX() {
return $this->x;
}
}
$o1 = new foo;
$o1->setX(4);
$o2 = $o1->__clone();
$o1->setX(5); if($o1->getX() != $o2->getX()) print("Copies are independant");
?>
对象克隆的方法在其它很多应用程序语言中都是存在的,所以你不必担心它的稳定性。:)

对象中的私有、公共及保护模式

PHP4 中,一个对象的所有方法和变量都是公共的,这意味着你可以在一个对象的外部操作其中的任意一个变量和方法。PHP5 引入了三种新的用来控制这种存取权限的模式,它们是:公共的(Public)、受保护的(Protected)及私有的(Private)。

公共模式(Public):允许在对象外部进行操作控制。
私有模式(Private):只允许本对象内的方法对其进行操作控制。
受保护模式(Protected):允许本对象及其父对象对其进行操作控制。

例四: 对象中的私有、公共及受保护模式

<?php
class foo {
private $x;
public function public_foo() {
print("I'm public");
}
protected function protected_foo() {
$this->private_foo(); //Ok because we are in the same class we can call private methods
print("I'm protected");
}
private function private_foo() {
$this->x = 3;
print("I'm private");
}
}
class foo2 extends foo {
public function display() {
$this->protected_foo();
$this->public_foo();
// $this->private_foo(); // Invalid! the function is private in the base class
}
} $x = new foo();
$x->public_foo();
//$x->protected_foo(); //Invalid cannot call protected methods outside the class and derived classes
//$x->private_foo(); //Invalid private methods can only be used inside the class $x2 = new foo2();
$x2->display();
?>
提示:对象中的变量总是以私有形式存在的,直接操作一个对象中的变量不是一个好的面向对象编程的习惯,更好的办法是把你想要的变量交给一个对象的方法去处理。

接口 (Interfaces)

众所周知,PHP4 中的对象支持继承,要使一个对象成为另一个对象的派生类,你需要使用类似 “class foo extends parent” 的代码来控制。 PHP4 和 PHP5 中,一个对象都仅能继承一次,多重继承是不被支持的。不过,在 PHP5 中产生了一个新的名词:接口,接口是一个没有具体处理代码的特殊对象,它仅仅定义了一些方法的名称及参数,此后的对象就可以方便的使用 'implement' 关键字把需要的接口整合起来,然后再加入具体的执行代码。

例五:接口

<?php
interface displayable {
function display();
}
interface printable {
function doprint();
}

class foo implements displayable,printable {
function display() {
// code
} function doprint() {
// code
}
}
?>
这对提高代码的可读性及通俗性有很大的帮助,通过上面的例子可以看到,对象 foo 包含了 displayable 和 printable 两个接口,这时我们就可以清楚的知道,对象 foo 一定会有一个 display() 方法和一个 print() 方法,只需要去了解接口部分,你就可以轻易的操作该对象而不必去关心对象的内部是如何运作的。

抽象类

抽象类不能被实例化。
抽象类与其它类一样,允许定义变量及方法。
抽象类同样可以定义一个抽象的方法,抽象类的方法不会被执行,不过将有可能会在其派生类中执行。

例六:抽象类

<?php
abstract class foo {
protected $x;
abstract function display();
function setX($x) {
$this->x = $x;
}
}
class foo2 extends foo {
function display() {
// Code
}
}
?>

__call

PHP5 的对象新增了一个专用方法 __call(),这个方法用来监视一个对象中的其它方法。如果你试着调用一个对象中不存在的方法,__call 方法将会被自动调用。

例七:__call

<?php
class foo {
function __call($name,$arguments) {
print("Did you call me? I'm $name!");
}
} $x = new foo();
$x->doStuff();
$x->fancy_stuff();
?>
这个特殊的方法可以被用来实现“过载(overloading)”的动作,这样你就可以检查你的参数并且通过调用一个私有的方法来传递参数。

例八:使用 __call 实现“过载”动作

<?php
class Magic {
function __call($name,$arguments) {
if($name=='foo') {
if(is_int($arguments[0])) $this->foo_for_int($arguments[0]);
if(is_string($arguments[0])) $this->foo_for_string($arguments[0]);
}
} private function foo_for_int($x) {
print("oh an int!");
} private function foo_for_string($x) {
print("oh a string!");
}
} $x = new Magic();
$x->foo(3);
$x->foo("3");
?>

__set 和 __get

这是一个很棒的方法,__set 和 __get 方法可以用来捕获一个对象中不存在的变量和方法。

例九: __set 和 __get

<?php
class foo {
function __set($name,$val) {
print("Hello, you tried to put $val in $name");
}
function __get($name) {
print("Hey you asked for $name");
}
}
$x = new foo();
$x->bar = 3;
print($x->winky_winky);
?>

类型指示

在 PHP5 中,你可以在对象的方法中指明其参数必须为另一个对象的实例。

例十:类型指示

<?php
class foo {
// code ...
}
class bar {
public function process_a_foo(foo $foo) {
// Some code
}
}
$b = new bar();
$f = new foo();
$b->process_a_foo($f);
?>
可以看出,我们可以显性的在参数前指明一个对象的名称,PHP5 会识别出这个参数将会要是一个对象实例。

静态成员

静态成员和静态方法在面象对象编程的术语中被称作 “对象方法(class methods)” 和 “对象变量(class variables)”。
“对象方法” 在一个对象没有实例化前允许被调用。同样,“对象变量” 在一个对象没有实例化前可以被独立操作控制(不需要用一个对象的方法来控制)。

例十一:对象方法和对象变量

<?php
class calculator {
static public $pi = 3.14151692;
static public function add($x,$y) {
return $x + $y;
}
}
$s = calculator::$pi;
$result = calculator::add(3,7);
print("$result");
?>

异常处理

异常处理是公认的处理程序错误的理想方法,在 Java 及 C++ 中都有这个概念,我们欣喜的看到,在 PHP5 已经加入了这方面的应用。你可以尝试使用 “try” 和 “catch” 来控制程序的错误。

例十二:异常处理

<?php
class foo {
function divide($x,$y) {
if($y==0) throw new Exception("cannot divide by zero");
return $x/$y;
}
}
$x = new foo();
try {
$x->divide(3,0);
} catch (Exception $e) {
echo $e->getMessage();
echo "n
n";
// Some catastrophic measure here
}
?>
上例中,我们使用了 “try” 来执行花括号中的语句,当有错误发生的时候,代码会把错误交给 “catch” 子句来处理,在 “catch” 子句中,你需要指明要把错误交给某个对象处理,这样做可以使代码结构看起来更清晰,因为现在我们可以把所有的错误信息交给一个对象来处理。

自定义错误处理

你可以很方便的用自定义的处理错误的代码来控制你的程序中的意外。你仅仅需要从异常类中派生出一个自己的错误控制类,在你自己的错误控制类中,你需要有一个构造函数和一个 getMessage 方法,以下是一个例子。

例十三:自定义错误处理

<?php
class WeirdProblem extends Exception {
private $data;
function WeirdProblem($data) {
parent::exception();
$this->data = $data;
}
function getMessage() {
return $this->data . " caused a weird exception!";
}
}
?>
现在我们可以使用 “throw new WeirdProblem($foo)” 来抛出一个错误句柄,如果错误在 “try” 的代码块中发生,PHP5 会自动把错误交给 “catch” 部分来处理。

名称空间

名称空间对类的分组或函数分组很有用。它可以把一些相关的类或函数给组合到一起,方便以后调用。

例十四:名称空间

<?php
namespace Math {
class Complex {
//...code...
function __construct() {
print("hey");
}
}
} $m = new Math::Complex();
?>
注意你需要在何种情况下使用名称空间,在实际运用中,你可能会需要声明两个或多个名称一样的对象来做不同的事情,那么你就可以把他们分别放到不同的名称空间中去(但接口是要相同的)。

‘捌’ php7与php5的区别

php5与php7之间的区别:
1、性能提升:PHP7比PHP5.0性能提升了两倍。
2、以前的许多致命错误,现在改成抛出异常。
3、PHP 7.0比PHP5.0移除了一些老的不在支持的SAPI(服务器端应用编程端口)和扩展。
4、PHP 7.0比PHP5.0新增了空接合操作符。
5、PHP 7.0比PHP5.0新增加了结合比较运算符。
6、PHP 7.0比PHP5.0新增加了函数的返回类型声明。
7、PHP 7.0比PHP5.0新增加了标量类型声明。
8、PHP 7.0比PHP5.0新增加匿名类。
9、错误处理和64位支持

‘玖’ PHP 高难度正则问题

其实方法有很多,我这样写了一个,利用explode 和
array_walk
<?php
$str='<option value="51">选项一</option><option value="52">选项二</option><option value="53">选项三</option><option value="54">选项四</option><option value="55">选项五</option><option value="56">选项六</option><option value="57">选项七</option>';
$re='/<option value="(\d{1,4})">/i';
$str_exchange='';
$arrstr= array(55,54,53,52,51);
$strs =explode('</option>',$str);
array_walk($strs , 'str_add');

function str_add($itemx){
global $re,$arrstr,$str_exchange;
if(preg_match($re, $itemx, $mats)){

if(in_array($mats[1],$arrstr)){
$str_exchange.=$itemx.'</option>';
}
}
//echo $itemx.'<hr/>';
}
print_r($str_exchange);
exit;
?>

‘拾’ php5与php6 的最大区别

半面向过程与面向对象

全面向对象的区别

阅读全文

与php55与php52相关的资料

热点内容
二次元表格编程 浏览:20
plc编程器保停 浏览:963
如何降低服务器的内存占用率 浏览:868
阿里云服务器是个什么意思 浏览:817
国内最好的数控编程培训学校 浏览:13
222乘104列是算法 浏览:159
程序员沟通正确姿势 浏览:969
魔玩app怎么视频推广 浏览:960
程序员抽奖送礼 浏览:458
北京java程序员薪资 浏览:658
如何创建网络平台或者app 浏览:355
python随机数生成控制概率 浏览:236
压缩机并联运行 浏览:899
两位单片机 浏览:63
四川音乐类投档线的算法 浏览:650
建行app如何改转账卡 浏览:26
android开发升级 浏览:299
要火社区app进不去怎么办 浏览:826
安卓手机上的自定义功能怎么用 浏览:230
方舟服务器怎么购买进去资格 浏览:44