php53
㈠ php 5.4 or PHP5.3 選擇
我感覺差不多啊,不可能不兼容的啊,要是這樣那3,4 的更跑不起
㈡ php5.3.5安裝
IIS7+PHP_5.3.51. 將下載回來的php_5.3.5解壓到 C:\php目錄(也可以放在其他地方,但是後面應該做相應修改) 2. 將php.ini-development改名為php.ini3. 修改php.ini 查找data.timezone 修改為date.timezone = 「Asia/Shanghai」(這里必須改,不然會出警告) 找到Windows Extensions開啟 所需模塊,如:php_curl.dll php_mysql.dll php_mysqli.dll php_xmlrpc.dll php_curl.dll 只要去掉前面的 分號 保存就可以了4. 添加<模塊映射>這里的路徑按你的實際情況填寫.5. 在網站根目錄新建一個phpinfo.php的文本文件 內容為:<?php
phpinfo();
?>6. 測試,打開瀏覽器看結果:localhost/phpinfo.php,如果能看到類似下面的頁面就說明你成功了:好了,到現在 已經可以成功的運行PHP程序了.
㈢ php 5.3 跟 5.2 有哪些差別
首先你要區分一下,php5.2和5.3的不同,php5.3的一些語法修改較大,非常不同,也就是5.2的一些程序能運行,有可能到了5.3就不能運行了。而php5.3下的程序可能在5.2下也不能運行。
現在最新的版本是5.5,一般用新不用舊的原則。
㈣ php 5.3.3 linux哪裡有下載啊
http://www.onlinedown.net/soft/26823.htm 有相關的
㈤ php5.3.5
php-5.3.5-Win32-VC6-x86.zip
windows版本的
㈥ php5.3是什麼
PHP(外文名:PHP: Hypertext Preprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
PHP5.3是其中一個版本。
㈦ php5.3與5.3以下版本的區別
Namespaces
php 5.3最大的改動,毫無疑問就是Namespaces(此前有一篇相關的PHP Namespaces FAQ)。這給php開發人員帶來的好處不少,廣為人們所詬病的函數命名問題也得到了解決。代碼更清晰
5.3之前常見的代碼,需要自定義前綴區分函數和類名PLAIN TEXTCODE:function MY_wrapper() {}
class MY_DB { }
define('MY_CONN_STR', '');
MY_wrapper();
new MY_DB();
MY_CONN_STR;
使用名稱空間之後,代碼看上去更加clean。PLAIN TEXTCODE:namespace MY;
function wrapper() {}
class DB { }
const CONN_STR = '';
use MY AS MY;
wrapper();
new DB();
CONN_STR;
一個文件中定義了多個namespace
如果一個文件中定義了多個namespace,應該怎樣處理?PLAIN TEXTCODE:namespace LIB;
class MySQL {}
class SQLite {}
$b = new SQLite();
namespace LIB_EXTRA;
class MScrypt {}
$a = new MScrypt();
var_mp(
get_class($a),
get_class($b)
);
以上代碼輸出為:PLAIN TEXTCODE:string(18)"LIB_EXTRA::MScrypt"
string(11)"LIB::SQLite"
php是解釋執行的語言,以上結果合情合理。namespace的優先順序
namespace中定義的函數,類和常量優先,其次才是全局的。PLAIN TEXTCODE:namespace foo;
function strlen($foo) { return htmlentities($foo); }
echo strlen("test"); // test
echo ::strlen("test"); // 4
echo namespace::strlen("test"); // test
namespace和autoload的友情
autoload會根據namespace名稱以及class名稱來解析類文件位置
僅當namespace和全局范圍都沒找到class定義的情況下,autoload才會被觸發
在namespace中定義的__autoload不會被自動調用
PLAIN TEXT
CODE:
function __autoload($var) { var_mp($var); } // LIB::foo
require "./ns.php"; /*
<?php
namespace LIB;
new foo();
*/
namespace一些輔料
PLAIN TEXTCODE:namespace really::long::pointlessly::verbose::ns;
__NAMESPACE__; // 新增的魔法常量,表示當前namespace名稱
class a{}
get_class(new a()); // really::long::pointlessly::verbose::ns::a
use really::long::pointlessly::verbose::ns::a AS b;// 從名稱空間中引用一個類
註:這里的內容節選自pdfIntroction to PHP 5.3 Slides,後文不再復述。性能提升
php 5.3的總體性能提升了5 - 15%md5()快了10-15%
Better stack implementation in the engine
Constants移到read-only內存里
exception處理過程改進(簡化,opcodes更少)
(require/include)_once改進,去掉重復open
Smaller binary size & startup size with gcc4
新語言特性__DIR__
在5.3以前,為了獲得當前腳本的目錄,需要一次函數調用PLAIN TEXTCODE:echo dirname(__FILE__); // < PHP 5.3
在5.3,只需要一個魔術常量__DIR__就解決了。PLAIN TEXTCODE:echo __DIR__; // >= PHP 5.3
?:操作符
便捷的?:操作符,可以從兩個值/表達式中快速取得非空值。PLAIN TEXTCODE:$a = true ?: false; // true
$a = false ?: true; // true
$a = "" ?: 1; // 1
$a = 0 ?: 2; // 2
$a = array() ?: array(1); // array(1);
$a = strlen("") ?: strlen("a"); // 1
__callStatic()
新增了魔術方法__callStatic,功能和__call類似,但是僅對static方法有效。PLAIN TEXTCODE:class helper {
static function __callStatic($name, $args) {
echo $name.'('.implode(',', $args).')';
}
}
helper::test("foo","bar"); // test(foo,bar)
動態調用static方法
動態的調用靜態方法?動靜結合。PLAIN TEXTCODE:class helper {
static function foo() { echo __METHOD__; }
}
$a = "helper";
$b = "foo";
$a::$b(); // helper::foo
Late Static Binding
不知道怎麼譯,可能留個原文更容易理解。靜態方法的事件處理時機有變化,以前是在編譯期處理,現在是執行期間處理。在php 5.3之前,下面的代碼會輸出一個A,但是這不是咱們要的,whoami方法已經在class B中重新定義,它本該輸出B才符合咱們想當然的思維。PLAIN TEXTCODE:class A {
public static function whoami() {
echo __CLASS__;
}
public static function identity() {
self::whoami();
}
}
class B extends A {
public static function whoami() {
echo __CLASS__;
}
}
B::identity(); // A <-- PHP <5.3
下面代碼中使用了static::whoami()來調用靜態方法。php 5.3之後,由於__CLASS__是在執行期被處理,那麼這個例子中能順利抓到class B。PLAIN TEXTCODE:class A {
public static function whoami() {
echo __CLASS__;
}
public static function identity() {
static::whoami();
}
}
class B extends A {
public static function whoami() {
echo __CLASS__;
}
}
B::identity(); // B <-->= PHP 5.3
mysqlnd
見mysqlnd成為php 5.3中的默認mysql驅動但是PDO_MySQL暫時還不支持mysqlnd,目前只有mysql(i)擴展可以用到之前介紹的php 5.3的新特性,都是方便開發人員的東東。下面介紹個很討虛擬主機提供商喜歡的特性。增強的ini文件支持
CGI/ FastCGI支持類似.htaccess的INI配置
每個目錄下都可以有INI設置,ini的文件名取決於php.ini的配置,但是[PATH=/var/www/domain.com], [HOST=www.domain.com]段落的設置用戶不能修改。
增強的error handling
允許在ini文件中定義變數和常量,可以在程序中直接調用。
附上一段ini文件的例子PLAIN TEXTCODE:#用戶自定義的php.ini文件名(.htaccess). 默認是".user.ini"
user_ini.filename=".user.ini"
#如果要禁用這個特性,設置為空值即可
user_ini.filename=
#用戶自定義的php.ini文件TTL時長(time-to-live),單位為秒,我理解為緩存過期時間。默認為300秒
user_ini.cache_ttl=300
[PATH=/var/www/domain.com]
variables_order = GPC
safe_mode =1
[my variables]
somevar = 「1234」
anothervar = ${somevar}; anothervar == somevar
[ini arrays]
foo[bar]=1
foo[123]=2
foo[]=3
㈧ php5.3.8 與php 5.6 哪個更好
版本沒有好壞之分,只有需要之分
PHP5.3:棄用的功能,匿名函數,新增魔術方法,命名空間,後期靜態綁定,Heredoc 和 Nowdoc, const, 三元運算符,Phar
PHP5.6: 常量增強,可變函數參數,命名空間增強
㈨ php 5.3.5如何安裝
從網站下載WINDOWS版本的php壓縮包或安裝包
(如果是安裝包,可以直接安裝,則以下操作基本上可以忽略。但為了更好的安全性,建議採用壓縮包自己安裝配置有關參數)
2. 將下載的php5.0壓縮包解壓到指定位置,如為C:\PHP5
3. 在c:\php5文件夾中,用記事本打開文件php.ini-dist,修改如下內容後「另存為...」php.ini文件
(1)查找到safe_mode = 段落,將safe_mode = Off修改為safe_mode = On
(2)查找到expose_php = On段落,將expose_php = On修改為expose_php = Off
(3)查找到display_errors = On段落,將display_errors = On修改為display_errors = Off
(4)查找到extension_dir = 段落,設置動態庫擴展的路徑,如extension_dir = c:\php5\ext
(5)查找到 ; cgi.force_redirect = 1段落,修改為 cgi.force_redirect = 0
提示:(4)和(5)是必須做的。記著要另存為php.ini
4. 將編輯好的php.ini文件剪切到Windows安裝文件夾下(如:C:\Winnt 或 C:\Windows)
5. 在IIS中,選擇要使用PHP的站點,右鍵菜單中選擇「屬性」,選擇「主目錄」標簽,在該界面中點「配置」,添加或重新編輯php擴展的「應用程序擴展名映射」,可執行文件選擇為C:\php5\php5isapi.dll,擴展名為php,確定應用後退出IIS配置
6. 停止IIS的WEB站點,並重新啟動該站點。
提示:如果是Windows 2003,應增加WEB擴展,將PHP置為允許
㈩ apache2.4+php5.3無法啟動
刪除cookie 的方法有兩種一:直接刪除setcookie("users");二:通過 設置 失效時間setcookie("users","OKadmin",time()-1);setcookie("users","OKadmin",0); //瀏覽器關閉 是自動失效這樣的你試試看,還不行樓主就可以去後盾人自學一下,還送價值兩千元的後盾人會員卡