http://www.onlinedown.net/soft/26823.htm 有相關的
❷ ubuntu php5.5 換成php5.3
1)如果Ubuntu軟體源里有php5.3,那就容易了。
具體的話,用 Synaptic(沒有就裝一個) 搜 php
2)沒有的話,就要自己編譯php5.3。
編譯的話如下命令僅供參考
./configure--prefix=/usr/local/php--with-mysql=你的MySQL程序路徑--enable-mbstring--without-pear--disable-cli--with-mysqli=/usr/local/bin/mysql_config(MySQLi路徑)--with-ldap--enable-pcntl
make
sudomakeinstall
❸ php5.3.8 與php 5.6 哪個更好
版本沒有好壞之分,只有需要之分
PHP5.3:棄用的功能,匿名函數,新增魔術方法,命名空間,後期靜態綁定,Heredoc 和 Nowdoc, const, 三元運算符,Phar
PHP5.6: 常量增強,可變函數參數,命名空間增強
❹ php5.2和php5.3哪個好
首先你要區分一下,php5.2和5.3的不同,php5.3的一些語法修改較大,非常不同,也就是5.2的一些程序能運行,有可能到了5.3就不能運行了。而php5.3下的程序可能在5.2下也不能運行。
現在最新的版本是5.5,一般用新不用舊的原則。所以就5.3和5.2比較而言,如果你的程序還沒有寫,肯定是5.3了。不過更建議用5.5。如果你的程序已經寫好了,就要看你的程序是哪個php版本的,根據程序選擇php版本,如果支持新版本,就用新版本,因為新版本的bug更少,速度更快。
如果你是學習階段,你就用新版本,因為新版本中有些新特性,這些新特性還是不錯的。具體的版本你可以參考一下php官網的介紹:http://www.php.net
❺ php 5.3 跟 5.2 有哪些差別
首先你要區分一下,php5.2和5.3的不同,php5.3的一些語法修改較大,非常不同,也就是5.2的一些程序能運行,有可能到了5.3就不能運行了。而php5.3下的程序可能在5.2下也不能運行。
現在最新的版本是5.5,一般用新不用舊的原則。
❻ 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程序了.
❼ php5.3.5
php-5.3.5-Win32-VC6-x86.zip
windows版本的
❽ PHP 5.4 or PHP5.3 選擇
我感覺差不多啊,不可能不兼容的啊,要是這樣那3,4 的更跑不起
❾ 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
❿ 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置為允許