本文目錄一覽:
php多線程如何實現的
php 是不支持多線程的,可以利用APACHE實現,以下是網上找到的代碼
假設我們現在運行的是a.php這個文檔. 但是我在程式中又請求WEB服務器運行另一個b.php
那麼這兩個文檔將是同時執行的.
?php
function runThread()
{
$fp = fsockopen(‘localhost’, 80, $errno, $errmsg);
fputs($fp, “GET /a.php?act=brnrn”);
fclose($fp);
}
function a()
{
$fp = fopen(‘result_a.log’, ‘w’);
fputs($fp, ‘Set in ‘ . Date(‘h:i:s’, time()) . (double)microtime() . “rn”);
fclose($fp);
}
function b()
{
$fp = fopen(‘result_b.log’, ‘w’);
fputs($fp, ‘Set in ‘ . Date(‘h:i:s’, time()) . (double)microtime() . “rn”);
fclose($fp);
}
if(!isset($_GET[‘act’])) $_GET[‘act’] = ‘a’;
if($_GET[‘act’] == ‘a’)
{
runThread();
a();
}
else if($_GET[‘act’] == ‘b’) b();
?
windows下如何實現在命令行下運行PHP文件
window下,假設php安裝目錄為c:\program files\php5\,那麼使用命令窗口進入到該路徑下,敲入php hello.php回車,則會執行當前路徑下的hello.php文件,如果要指向其他路徑下php文件,可以在php 路徑/hello.php ,這種形式稱為CLI模式,我們平時通過瀏覽器看到的那種稱為CGI模式,至於傳遞參數,php文件在cli模式下,直接通過在文件名稱後面接參數,多個參數中間用空格隔開,在php文件裡面是通過兩個變量來獲取參數的,一個是$argv,一個是$argc,前者是傳遞參數的數組,默認第一個為php文件的名稱;後者為$argv的數組個數。
linux下,一般程序安裝都會安裝在/usr/bin/php下面,可以通過man php查看一下,如果有信息說明可以使用,使用方法類似於window下。如果前面這步成立,那麼你可以直接 php php文件 來運行php文件,如果man php沒有信息,則說明當前php執行文件沒有在環境路徑裡面,可以修改環境路徑包含php路徑,也可以類似於window進入php路徑,在執行 php php文件。其他類似於window下。
怎麼編寫php編程?
示例代碼如下:
?php
//接收輸入的分數
$score = $_GET[‘score’];
$score = (int)$score;
if( $score=90 $score=100 ) {
echo “優秀”;
} elseif( $score=75 $score90 ) {
echo “良好”;
} elseif( $score=60 $score75 ) {
echo “及格”;
} elseif( $score=0 $score60 ) {
echo “不及格”;
} else {
echo “分數輸入錯誤!”;
}
php如何實現網頁靜態
一、靜態化的優點:
1有利於搜索引擎收錄網站頁面的信息:搜索引擎更喜歡靜態的,更變於抓取,搜索引擎SEO排名會更容易提高。
2靜態網頁化網頁穩定
3可以提高網頁加載速度
4減輕服務器負擔,瀏覽器不需要頻發調用數據庫。
5數據庫出錯不會影響正常訪問
二、偽靜態
PHP偽靜態:是利用Apache mod_rewite實現url重寫的方法
改寫訪問地址,能夠通過URL的PATHINFO模式來改動它。讓它看上去更像一個靜態頁面。從而有更大的幾率被搜索引擎抓取和收錄,僅是對搜索引擎比較友好,偽靜態化
三、純靜態化
純靜態化,就是生成HTML文件的方式,我們須要開啟PHP自帶的緩存機制,即ob_start來開啟緩存。而且在ob_start之前不能有不論什麼輸出,否則運行失敗,然後我們用ob_get_contents函數來獲取緩存中的內容,該函數會返回一個字符串。第三個函數就是ob_end_clean,它用來清空緩存中的內容而且關閉,成功返回True,失敗返回False。
?php
if(file_exists(“match.html”) (time()-filemtime(“match.html”))300)
{
//如果存在對應的靜態文件,則直接訪問
require_once(“match.html”);
}else{
//這裡用數組來仿真數據庫操作,現實一般都是操作數據庫得到對應數據
$student = array(“huangxing”,”chenyuwei”,’xufei’,’zhangjingwen’,’xuepei’);
ob_start();
//載入模板
require_once(“muban.php”);
file_put_contents(“match.html”,ob_get_clean());
require_once(‘match.html’);
}
php如何實現定時任務,php定時任務方法,最佳
PHP製作定時任務(也稱計劃任務)的方法,大概分為2種:
現在基本所有的PHP框架,如:ThinkPHP,Yii,Laravel等等;它們都是單入口的形式,也就是說所有的請求都集合到index.php中,然後再由框架核心來根據請求參數的不同來分配到不同的控制器當中。基於單入口的形式,那麼就可以做基於行為(例如TP3.2)或者說基於事件的定時任務。
系統自動的定時任務,比如Linux的crontab,windows的計劃任務等。
兩中方法各有所長各有所短
基於事件:這種利用的是框架本身提供的一些行為來實現,優點是:不需要特殊配置,只要項目能跑起來,那麼定時任務也能執行。缺點是:靈活性比較差,必須要藉助框架實現。
基於系統:基於操作系統來實現,優點是:靈活性很高,而且可控性也很好。缺點是:需要特殊配置,專業要求性比較強。
具體要使用哪種方法,可以依據自己的能力和項目需要來選擇。最後附上TP3.2的定時任務配置,這個只需要配置就可以,如果想查看具體實現原理,可以查看/ThinkPHP/Library/Behavior/CronRunBehavior.class.php
第一步:/Application/Common/Conf目錄下新建兩個文件:
分別如:
/Application/Common/Conf/tags.php
/Application/Common/Conf/crons.php
1) 新建 tags.php,編輯內容如下:
return array(
‘app_end’ = array(‘Behavior\CronRunBehavior’),
);
2) 新建 crons.php ,編輯內容如下:
return array(
‘cron_1’ = array(‘myplan’, 1),
);
第二步:/Application/目錄下新建 Cron文件夾,裡面新建文件myplan.php文件
路徑如:/Application/Cron/myplan.php
編輯內容如下:
echo 11111;
查看是否運行成功,最簡單的方法是查看/Application/Runtime/~crons.php,這個文件是否存在。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/259601.html