phpinizend
『壹』 [求助]php環境配置問題
一、下載地址:
Apache2.0.50 :http://httpd.apache.org/download.cgi
PHP5.0.2 :http://cn2.php.net/get/php-5.0.2-Win32.zip/from/a/mirror
MYsql5.0.2:http://dev.mysql.com/downloads/mysql/5.0.html
Zend2.5.2 :http://www.zend.com/store/free_download.php?pid=13]
軟體的安裝偶就不說了,其中只有PHP下的是zip包,直接解壓就可以了。
安裝順序就是上面列出來的順序,Zend我是最後等所有的運行都沒問題後才裝的。
二、簡單安裝過程:
(一)Apache:
Apache2.0.50的安裝很簡單,我就直接把他裝到了E盤根目錄下(我C盤是系統盤,D盤是temp盤,偶發現在windows下單獨拿個分區來做臨時文件的存放地對系統的速度影響不小,這樣做能提升系統運行的速度,感興趣的朋友可以試試看),安裝完後我的apache目錄就是E:\apache2
(二)PHP:
我是直接解壓縮放到E盤php目錄下了,這樣查找文件會方便許多。
(三)Mysql:
直接裝到E:\mysql下,它的默認目錄太長,是在C盤下的,偶的C盤是除windows的文件外別的一概不放的。
(四)Zend:
所有的調試都正常後我把Zend裝到了E:\program files\zend下
三、配置過程:
(一)http.conf
這個文件我改了幾個地方:
把PHP直接作為apache的一個模塊運行,我在裡面加了兩句:
CODE: [Copy to clipboard]
LoadMole php5_mole "E:/php/php5apache2.dll"
AddType application/x-httpd-php .php
我在E:\apache2目錄下建立了一個www的目錄用於存放我的站點文件,在http.conf里改了這樣一句話:
把DocumentRoot "E:/Apache2/htdocs"改成了DocumentRoot "E:/Apache2/www"
Apache2.0.x於1.3.x相比2.0.x默認不能直接列目錄,偶感覺不爽,就改了:
把DocumentRoot "E:/Apache2/www"這句下的如下語句
CODE: [Copy to clipboard]
Options FollowSymLinks
AllowOverride None
改為:
CODE: [Copy to clipboard]
Options Indexes FollowSymLinks
AllowOverride None
把apache的默認字元設置為中文簡體:
AddDefaultCharset GB2312
修改目錄的默認首頁:
DirectoryIndex 後面寫上你想設置為首頁的文件名,如:index.html index.php等
別的就沒再動什麼地方
注意一點的是,要使這些配置生效需要重新啟動apache
(二)php.ini
以前用php4.x的時候覺得配置起來很簡單,所以偶用PHP5也直接那麼配了,誰知道完了mysql不能用,說是無法連接動態庫,我仔細檢查了一下 php_mysql.dll明明存在,可就說找不到,這點讓我郁悶了N久,偶重新解壓了php5也沒用,後來在php的install文檔里發現了這么一句話: php_mysql.dll MySQL functions PHP >= 5.0.0, requires libmysql.dll (bundled)
於是偶才找到了原因......
配置php5.0.2是這樣來過的:
把php.ini-dist復制到C:\windows 下改名為 php.ini(裝過php的都做過吧)
然後修改了幾個地方:
extension_dir = "E:\php\ext" (指定動態連接庫的目錄,php5和php4不同的地方就是它的動態連接庫目錄變了,這在它的文檔結構里有詳細的說明)
然後把下面幾句前面的分號去掉
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_filepro.dll
;extension=php_gd2.dll
;extension=php_imap.dll
;extension=php_mysql.dll
接下來修改了一些文件上傳以及內存使用最大限制:
memory_limit = 20M
post_max_size = 20M
upload_max_filesize = 20M
別的就沒改什麼了,這里修改過php.ini以後也要重新啟動apache
接下來一點很重要的就是把php目錄下的 libmysql.dll 和 libmysqli.dll 復制到windows/system32下,如果不這樣做,mysql動態連接庫就無法正常載入。
接下來一點很重要的就是把mysql目錄下的 libmysql.dll 復制到apache/bin下,如果不這樣做,mysql動態連接庫就無法正常載入。
接下來一點很重要的就是把php目錄下的 php5apache2.dll和php5ts.dll 復制到apache/bin下,如果不這樣做,mysql動態連接庫就無法正常載入。
將apache/bin下的libmysql.dll php5apache2.dll php5ts.dll考到windows/system32 下
『貳』 zend加密PHP後可以解密嗎
可以加密就可以解密。
解密ZEND加密後的PHP文件:
zend加密php文件解密工具Dezender可以做到。
1、下載Dezender.zip
2、解壓到盤裡面,最好不要有中文路徑,比如解壓到 I:Dezender 裡面,修改I:DezenderPHP5PHP5php.ini文件,修改裡面的文件路徑。
『叄』 zend加密的php怎麼運行
如果要讓Zend加密的代碼在PHP 5.3.x上運行,必須選擇針對PHP 5.3加密,舊版本的加密文件不能在PHP 5.3上運行。同時,如果是Windows平台還必須選擇PHP的NTS版本。對應的Zend解密插件是Zend Loader。需要全部手工安裝。獲取ZendLoader.dll之後修改PHP文件增加以下兩行:zend_extension="(ZendLoader.dll的路徑)"zend_loader.enable=1
而如果要讓Zend加密的代碼在PHP 5.3之前的平台上運行,必須選擇針對舊版PHP加密。針對PHP 5.3加密的代碼是不能在PHP 5.3之前的平台上運行的。
同時,如果是Windows平台還必須選擇PHP的TS版本。對應的Zend解密插件是Zend Optimizer。
有安裝程序,需要自行安裝。
更多問題可以去php中文網問答社區提問http://www.php.cn/wenda.html,大神在線幫你解決,希望對你有幫助
『肆』 怎樣提高php運行速度
使用PHP的最大1個優勢就是速度快。一般情況下,PHP總是具有足夠的速度支持Web內容動態生成,許多時候甚至無法找出比它更快的方法。然而,當面對龐大的訪問量、高負荷的應用、有限的帶寬,以及其他各種帶來性能瓶頸的因素時,就需要考慮怎樣提高PHP的性能了。
步驟/方法
代碼優化
代碼優化不僅僅是寫出干凈和清晰的代碼,而是對代碼進行一定的簡化。可以使用Zend Optimizer來自動幫助完成這些繁雜的工作。Zend Optimizer可以從Zend Technologies的網站http://www.zend.com/免費得到,但必須同意它的許可約定,因為它不是以GPL方式發行的。它的原理很簡單,即通過檢測Zend引擎產生的中間代碼,並對它進行優化,從而獲得更高的執行速度。
在使用了Zend Optimizer後,復雜的PHP源程序的執行效率馬上會得到顯著提高,缺點是優化後的代碼可讀性下降,給代碼修改帶來困難。
Zend Optimizer的安裝方法非常簡單,只要根據用戶使用的平台,下載相關的預編譯版本,把下面2行代碼加入到php.ini文件中,重新啟動Web 伺服器就行了:
zend_optimizer.optimization_level=15
zend_extension=″/path/to/ZendOptimizer.so″
zend_loader.enable=Off
額外增加的第三行代碼是可選的,因為禁用zend_loader將會使優化速度更快。需要注意的是,只有在不使用Zend Encoder Runtime的時候,才可以禁用zend_loader。
使用緩存
如果PHP程序的規模很大,那麼提高速度的辦法就是使用緩存。現在已經有許多緩存方案可供選擇,其中包括Zend Cache、APC和Afterburner Cache。
上面這幾種都是「緩存模塊」(caching moles)。第一次調用PHP文件時,緩存模塊從PHP源代碼生成一些中間代碼,並把這些中間代碼存儲在Web伺服器的內存中。以後再調用這些文件時,就可以直接使用內存中「編譯」過的代碼。這種方法確實能夠改善應用的性能,因為它使得磁碟訪問量減低到了最少的程度(代碼已經讀取和解析),代碼直接在內存中運行,使得伺服器響應請求的速度大大提高。
當然,緩存模塊還會監視PHP源文件的變化,必要時會重新緩存頁面,從而防止用戶得到的頁面仍舊由過時的PHP代碼生成。由於緩存模塊能夠明顯地降低伺服器的負載,提高PHP應用的響應效率,因此它們非常適合於負載較大的網站使用。
Zend Cache是Zend Technologies公司開發的商業軟體。在第一次運行後,PHP頁面的運行速度立刻會有很大的提高,伺服器的空閑資源也更多了。缺點是它不是免費的,但性價比還是很高的。
Afterburner Cache是Bware Technologies公司開發的免費緩存模塊。功能與Zend Cache基本一樣,但提高性能方面比不上Zend Cache。
APC(Alternative PHP Cache)是由Community Connect公司開發的另一種免費緩存模塊,目前版本是2.0.4,可以從http://pecl.php.net/package/APC獲得。對於產品應用來說,它的性能很穩定,而且也能在很大程度上提高響應請求的速度。
壓縮網頁內容
影響站點的訪問速度還有1個重要因素,那就是下載速度。解決的辦法就是壓縮網頁內容。對於純文本內容而言,HTTP壓縮技術可壓縮至原大小的40%以下,從而提供60%以上的數據傳輸節約。雖然Web伺服器會因為壓縮導致CPU佔用的略微上升,但可以節約大量用於傳輸的網路IO。
根據IETF規范,大部分瀏覽器都支持使用gzip壓縮演算法進行內容壓縮。也就是說,可以先用gzip壓縮網頁內容,然後發送到客戶端瀏覽器,瀏覽器在接收的時候會自動解壓數據,再顯示頁面。這個過程對用戶來說,是完全透明的。同樣,壓縮Web頁面的內容也有不同的方法。
Mod_gzip是1種開放源代碼的、標準的Apache模塊,也叫互聯網內容加速模塊。可以將它和Apache一起編譯,也可以作為DSO使用。相對於普通的瀏覽過程,它可以節省40%左右的流量。Mod_gzip不僅可以壓縮靜態的內容,如HTML、XML,而且對動態生成的,包括SQL、Java、WML、VRML等產生的內容,在伺服器端進行實時壓縮並傳輸,其壓縮效率驚人,一般都為60%~85%。
壓縮動態網頁的內容,還可以使用class.gzip來對.php文件編碼,class.gzip通過在PHP腳本的開頭和結尾調用它的一些函數來壓縮網頁內容。如果整個站點都需要這樣的壓縮,可以在php.ini文件中的auto_prepend和auto_append中調用這些函數,但是會佔用一定的系統開銷。
PHP4.0.4推出了1種新的輸出緩沖的處理手段—ob_gzhandler,它的作用和class.gzip完全一樣,區別是可以直接把它加到php.ini 文件中,語法如下:
output_handler = ob_gzhandler;
這樣將激活PHP的輸出緩沖功能,並在發送內容前進行壓縮。如果不想在這里設置,只在需要的地方才改變這個默認設置(不壓縮),只要在需要壓縮的PHP源程序目錄中,修改一下.htaccess文件就行了,語法如下:
php_value output_handler ob_gzhandler
或者直接在PHP代碼中調用它:
ob_start(″ob_gzhandler″);
輸出緩沖的效果確實很理想,並且不會為伺服器帶來額外的系統開銷。要注意的一點是Netscape Communicator不支持圖像的壓縮。因此除非知道訪問者都使用Internet Explorer,否則必須禁止壓縮jpeg和gif圖象。
其它技巧
在編程時,使用一些小技巧也可以加快PHP的運行速度:
(1)用i+=1代替i=i+1,既符合c/c++的習慣,效率相對還更高。
(2)盡可能使用PHP內部函數。
(3)能使用單引號字元串時,盡量使用單引號字元串。單引號字元串的效率要高於雙引號字元串。
(4)用foreach代替while遍歷數組,foreach的效率明顯高於while循環,而且不需要調用reset函數。