基於PHP非同步執行的常用方式詳解

1.用戶端頁面採用AJAX技術請求伺服器優點:最簡單,也最快,就是在返回給用戶端的HTML代碼中,嵌入AJAX調用,或者,嵌入一個img標籤,src指向要執行的耗時指令碼。缺點:一般來說Ajax都應該在onLoad以後觸發,也就是說,使用者點開頁面後,就關閉,那就不會觸發我們的後台指令碼了。而使用img標籤的話,這種方式不能稱為嚴格意義上的非同步執行。使用者瀏覽器會長時間等待php指令碼的執行完成,也就是使用者瀏覽器的狀態列一直顯示還在load。當然,還可以使用其他的類似原理的方法,比如scri

深入PHP運行環境配置的詳解

運行環境配置:php54+Apache2.2+Mysql1.預設連接埠設定:#Listen 12.34.56.78:80Listen 80802.載入模型:LoadModule php5_module "D:\MyZILIAO\PHP\php54\php5apache2_2.dll"3.支援的類型: AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType application/

php產生二維碼的幾種方式整理及使用執行個體

1.google開放api 複製代碼 代碼如下:$urlToEncode="http://bbs.lewanchina.com"; generateQRfromGoogle($urlToEncode); function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0') { $url = urlencode($url); echo '<img

深入PHP非同步執行的詳解

Web伺服器執行一個PHP指令碼,有時耗時很長才能返回執行結果,後面的指令碼需要等待很長一段時間才能繼續執行。如果想實現只簡單觸發耗時指令碼的執行而不等待執行結果就直接執行下一步操作,可以通過fscokopen函數來實現。PHP支援socket編程,fscokopen函數返回一個到遠程主機串連的控制代碼,可以像使用fopen返回的控制代碼一樣,對它進行fwrite、fgets、fread等操作。使用fsockopen串連到本機伺服器,觸發指令碼執行,然後立即返回,不等待指令碼執行完成,即可實現非

PHP代碼保護–Zend Guard的使用詳解

Zend Guard的作用,就是用編譯處理的方式來保護PHP原始碼免於被反編譯查看、未經授權的定製修改、未經許可的使用和重新發布等。而且,它是PHP的東家Zend公司開發的,是完全為PHP量身定做的保護神。 下面,請大家就和我一起來學習使用Zend Guard,加密保護我們的PHP原始碼吧。    實戰:加密PHP原始碼 下載:http://www.zend.com/en/products/guard/接下來讓我們準備一個簡單的PHP程式test.php,用來測試能否被Zend

php中用加號與用array_merge合并數組的區別深入分析

我們首先給出兩個數組 複製代碼 代碼如下: <?php $r = array(1,2,3,4,5,6); $e = array(7,8,9,10); ?> 下面我們用array_merge和加號來何必這兩數組 複製代碼 代碼如下: <?php print_r($r+e); // 輸出<span style="font-family: Simsun;font-size:16px; ">Array ( [0] =

PHP線上產生二維碼代碼(google api)

複製代碼 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/

ubuntu10.04配置 nginx+php-fpm模式的詳解

ppa安裝php-fpm安裝工具包複製代碼 代碼如下:$ sudo apt-get install python-software-properties 添加ppa源複製代碼 代碼如下:$ sudo add-apt-repository ppa:yola/php5安裝php5-fpm複製代碼 代碼如下:sudo apt-get updatesudo apt-get install php5-fpm其它必要的軟體安裝接複製代碼 代碼如下:sudo apt-get

雞肋的PHP單例模式應用詳解

單例模式的要點有三個:一是某個類只能有一個執行個體;二是它必須自行建立這個執行個體;三是它必須自行向整個系統提供這個執行個體。複製代碼 代碼如下:<?php /* 單例模式舉例,其要點如下: * * 1. $_instance 必須聲明為靜態私人變數 * 2. 建構函式和複製函數必須聲明為私人的,這是為了防止外部程式 new 類從而失去單例模式的意義 * 3. getInstance()方法必須聲明為公有的,必須調用此方法以返回唯一執行個體的一個引用 * 4.

PHP Error與Logging函數的深入理解

PHP Error與Logging 簡介error與logging 函數允許你對錯誤進行處理和記錄。error 函數允許使用者定義錯誤處理規則,並修改記錄錯誤的方式。logging 函數允許使用者對應用程式進行日誌記錄,並把日誌訊息發送到電子郵件、系統日誌或其他的機器。安裝error與logging 函數是 PHP 核心的組成部分。無需安裝即可使用這些函數。PHP Error 和 Logging 函數PHP:指示支援該函數的最早的 PHP 版本。函數 描述

PHP 非同步執行方法,類比多線程的應用分析

PHP 本身沒有多線程的東西,但可以曲線的辦法來造就出同樣的效果,比如多進程的方式來達到非同步呼叫,只限於命令模式。另外還有一種更簡單的方式可用於 Web 程式中,那就是用 fsockopen()、fputs() 來請求一個 URL, 而無需等待返回,如果你在那個被請求的頁面(URL)中做些事情就相當於非同步了。關鍵代碼如下:複製代碼 代碼如下:<?php $fp = fsockopen('localhost',80,&$errno,&$errstr,5); if(

基於php在各種web伺服器的運行模式詳解

一、php在apache中運行模式 php在apache中一共有三種工作方式:CGI模式、FastCGI模式、Apache 模組DLL以下分別比較:1. CGI模式與模組模式比較:php在apache中兩種工作方式的區別(CGI模式、Apache 模組DLL)這兩種工作方式的安裝:PHP 在 Apache 2.0 中的 CGI 方式ScriptAlias /php/ "c:/php/"AddType application/x-httpd-php .php# 對 PHP 4 用這行Action

基於php下載檔案的詳解

php下載檔案,比如txt檔案。出現的效果就是,彈出瀏覽器內建的下載框,出現另存新檔操作。有時候會出現記憶體溢出和逾時的現象。逾時的話,設定set_time_limit(0);出現記憶體溢出的話,有可能是因為從資料庫中取出的資料量太大導致的。如果是從檔案中讀取的話,出現記憶體溢出的話,就是代碼讀取方式不正確,調用files或者filegetcontens才會如果是fopen的話,就給一個緩衝區,固定大小,讀入然後寫入,不會出現記憶體溢出的情況。如代碼:複製代碼 代碼如下:if

基於php-fpm的配置詳解

php5.3內建php-fpm/usr/local/php/etc/php-fpm.confpid = run/php-fpm.pidpid設定,預設在安裝目錄中的var/run/php-fpm.pid,建議開啟error_log = log/php-fpm.log錯誤記錄檔,預設在安裝目錄中的var/log/php-fpm.loglog_level = notice錯誤層級. 可用層級為: alert(必須立即處理), error(錯誤情況), warning(警告情況),

基於PHP一些十分嚴重的缺陷詳解

1. 對遞迴的不良支援遞迴是一種函數調用自身的機制。這是一種強大的特性可以把某些複雜的東西變得很簡單。有一個使用遞迴的例子是快速排序(quicksort)。不幸的是,PHP並不擅長遞迴。Zeev,一個PHP開發人員,說道:“PHP 4.0(Zend)對密集資料使用了棧方式,而不是使用堆方式。也就是說它能容忍的遞迴函式的數量限制和其他語言比起來明顯少。”見bug 1901。這是一個很不好的借口。每一個程式設計語言都應該提供良好的遞迴支援。2.

用PHP實現瀏覽器點擊下載TXT文檔的方法詳解

由於現在的瀏覽器已經可以識別txt文檔格式,如果只給txt文檔做一個文字連結的話,點擊後只是開啟一個新視窗顯示txt檔案的內容,並不能實現點擊下載的目的。當然這個問題的解決辦法也可以是將txt檔案改名為瀏覽器不認識的檔案(比如rar),這樣的話,由於瀏覽器不能識別rar類型的檔案,只能讓使用者下載了。還有一種辦法,就是利用代碼通過header設定文檔的格式來實現點擊下載的目的。PHP代碼如下:====================================================

基於php socket(fsockopen)的應用執行個體分析

fsockopen函數能夠運用,首先要開啟php.ini中的allow_url_open=on;fsockopen是對socket用戶端代碼的封裝,該函數中封裝了socket_create,socket_connect。伺服器端代碼:server.php複製代碼 代碼如下:<?phperror_reporting(E_ALL);set_time_limit(0);$address = '127.0.0.1';$port = 10008;//建立連接埠if (($sock = socket_

最佳化PHP代碼技巧的小結

最佳化PHP代碼技巧的小結1. 如果一個方法能被靜態,那就聲明他為靜態,速度可提高 1/4;2. echo 的效率高於 print,因為 echo 沒有傳回值,print 返回一個整型;3. 在迴圈之前設定迴圈的最大次數,而非在在迴圈中;4. 銷毀變數去釋放記憶體,特別是大的數組;5. 避免使用像__get, __set, __autoload 等魔術方法;6. requiere_once()比較耗資源;7. 在 includes 和 requires

深入php資料擷取的詳解

這裡介紹兩個php採集能用到的好工具。一個是Snoopy,一個是simple_html_dom。採集還有很多方式(其實本質就2-3種,其他的都是衍生的),php內建了幾個方法也能直接進行採集。但是,出於把懶惰進行到底的精神。我們還是可以通過這兩個工具,讓採集變得更簡單。網上有不少介紹Snoopy的,下面是別人翻譯的Snoopy的SDK//////////////////////////////////////////////////////////////Snoopy是一個php類,用來類比瀏覽

PHP無限分類(樹形類)的深入分析

PHP無限分類,Google一下就能找到很多相關資料,思路比較拉風的,也是用得比較多的就是分類表至少有id,pid,name三個欄位,id自增表分類,pid為父分類,name為分類名,這樣就構成了一棵樹,如下,算是我查詢分類表得到的結果集。複製代碼 代碼如下:<?php//類比PHP無限分類查詢結果return array( array( 'id'=>1, 'pid'=>0, 'name'=>'首頁' ),

總頁數: 1662 1 .... 318 319 320 321 322 .... 1662 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.