You are here: 首頁 文章分類選單 PHP分享特區

飛朵啦學習手札

本網站建議使用Firefox2.0以上,或是使用Goole瀏覽器來瀏覽,並使用1024x768解析度來觀看.

PHP分享特區

[轉]解决 PHP Fatal error: Call-time pass-by-reference has been removed

E-mail 列印 PDF

本文轉自http://www.azuis.me/blog/archives/175

PHP在升級到5.4版本的php可能會出現這種錯誤:

如果這樣使用函數(或者類)的話,會產生一個PHP Fatal error:

foo(&$var);

實際上,這樣用法在php5.3中就會有提示,只是之前的僅僅會提示Deprecated而已。

// 正确写法
function myFunc(&$arg) { do something... }
 
myFunc($var);//Call myFunc
 
//错误写法
function myFunc($arg) { do something... }
 
myFunc(&$arg);//Call myFunc
 
 

[轉]PHP 的session 儲存於mysql 資料庫內

E-mail 列印 PDF
PHP預設的SESSION的存放有以下幾點缺點.
隱患一:如果用戶端機器的cookie一旦因病毒而失效了,那麼session也就相當於沒有了。
隱患二:session在php中預設的是以檔的形式保存在一個暫存檔案夾裡面的,對於一個小型系統來說,這樣做完全可以,
可是對於一個大型而又被經常訪問的系統來說,就不是很好的辦法了。假設這個網站一天有1000個人訪問。一個月以後session的暫存檔案夾就會有30000個暫存檔案。想像一下電腦要從30000裡面找一條session_sid是一個多麼漫長的事情呀!
因此為了提高效率。
交易使用用資料庫保存session。具體方法如下:
1.更改php.ini檔。
由於php預設保存session的方式是files所以我們要改變它。即:找到“session.save_handler = files”將“files”改為“User”。
把session的模式改成使用者自訂的。
 
 

[轉]php 設定跨子網域的SESSION

E-mail 列印 PDF

要在php中設定可以跨子網域使用同樣的SESSION
可以在php.ini中多加一行

session.cookie_domain = .mydomain.com
要記得網域前的 . 喔

如果不能修改php.ini的話
就在每個要跨子網域的程式中加入下面這行

ini_set("session.cookie_domain", ".mydomain.com");

都要在session_start()之前喔
同樣的 網域前的 . 也是不能省的~

這只能使用在不同子網域的同網域中喔
就是AAA.mydomain.com跟BBB.mydomain.com可以通
AA.mydomain.com跟BB.yourdomain.com不能通 因為是不同網域
最近更新 ( 週二, 10 九月 2013 14:44 )
 

[PHP] file_exists VS is_file 效能分析

E-mail 列印 PDF

在寫程序時發現在判斷文件是否存在時,有兩種寫法,有的人用了is_file,有的人用了file_exists,用哪個更好或者說更合適呢

寫程序驗證一下:

分別執行1000次,記錄所需時間。

文件存在(當前目錄)

is_file:0.4570ms

file_exists:2.0640ms

文件存在(絕對路徑3層/www/hx/a/)

is_file:0.4909ms

file_exists:3.3500ms

文件存在(絕對路徑5層/www/hx/a/b/c/)

is_file:0.4961ms

file_exists:4.2100ms

文件不存在(當前目錄)

is_file:2.0170ms

file_exists:1.9848ms

文件不存在(絕對路徑5層/www/hx/a/b/c/)

is_file:4.1909ms

file_exists:4.1502ms

目錄存在

file_exists:2.9271ms

is_dir:0.4601ms

目錄不存在

file_exists:2.9719ms

is_dir:2.9359ms

is_file($file)

file_exists($file)

當$file是目錄時,is_file返回false,file_exists返回true

文件存在的情況下,is_file比file_exists要快得多;

要檢測文件所在的目錄越深,速度差越多,但至少快4倍。

文件不存在的情況下,is_file比file_exists要慢一點點,但可以忽略不計。

目錄存在的情況下,is_dir比file_exists要快得多;

目錄不存在的情況下,is_dir比file_exists要慢一點點,但可以忽略不計。

結論:

如果要判斷文件是否存在,用函數is_file(),

如果要判斷目錄是否存在,用函數is_dir(),

 

[轉貼]PHP 推撥 IOS PUSH

E-mail 列印 PDF

文章轉貼自:http://blog.csdn.net/newjueqi/article/details/8315093

是按照教程http://blog.csdn.net/newjueqi/article/details/7898591 來做的。

注意事項:

1. 測試階段使用的推送地址:

ssl://gateway.sandbox.push.apple.com:2195

 

正式上線使用的推送地址:

ssl://gateway.push.apple.com:2195

 

最近更新 ( 週四, 25 四月 2013 16:26 )
 
第 4 頁, 共 7 頁