PHP多进程协作编程之 socket
基本思路:通过SOCKET请求其他PHP脚步,实现PHP的多进程的异步执行。
废话就不多说了,请看下面的脚步并执行之。
<?php
//a.php
function runThread(){
$fp = fsockopen('127.0.0.1', 82, $errno, $errmsg);
fputs($fp, "GET /a.php?act=b\r\n"); //这里的第二个参数是HTTP协议中规定的请求头
//不明白的请看RFC中的定义
fclose($fp);
}
function a(){
$fp = fopen('result_a.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "\r\n");
fclose($fp);
}
function b(){
$fp = fopen('result_b.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "\r\n");
fclose($fp);
}
if(!isset($_GET['act'])) $_GET['act'] = 'a';
if($_GET['act'] == 'a')
{
runThread();
a();
echo 'ok';
}
else if($_GET['act'] == 'b') {
b();
}
?>
通过观察result_a.log与result_b.log:
result_a.log: Set in 03:45:560.293005
result_b.log: Set in 03:45:560.296877
我们发现,先写了result_a.log文件后写了result_b.log,这说明两个进程是异步执行的。
相关文档:
文件php.ini放入windows下,将下面内容拷贝到记事本命名为php.ini放入c:/windows下,重启Apache server:
[PHP]
;;;;;;;;;;;
; WARNING ;
;;;;;;;;;;;
; This is the default settings file for new PHP installations.
; By default, PHP installs itself with a configuration suitable for
; development purposes ......
<?php
/**
* PHP100.com - 个人感觉非常简单,只要有点PHP基础滴人都应该能看懂~~
* Apache2 + PHP5.0
* Version:1.0
* 同时感谢PHP100所有的兄弟们
* ——————————————&m ......
session的作用域是在一次会话中起作用,所以在一次会话中,可以用Session来存储保存所需要的值,如实现购物车,客户是否登录的验证等等。在使用前首先要开启session
<?php
session_start();
?>
考虑是否可写入session
<?php
if (isset($_POST['userid'])){
$_SESSION[' ......
现在我们开始介绍新闻的列表和删除了。
新建立一个文件listnews.php,内容如下:
< ?php
require_once('../inc/config.php');
//包含配置文件
?>
<html>
<head></head>
<title>新闻管理</title>
<body>
<div class="newstitle"></div>
<div class="ne ......
PHP5.2.4之前的版本无需设置时区。下面是修改PHP时区的三个办法。
1、修改PHP.ini这个文件
找到date.timezone这行,去掉前面的分号,改成: date.timezone = Asia/Shanghai 2、修改 .htaccess文件
修改.htaccess文件有两种办法,下面的两条语句只要有一条即可 php_value date.timezone Asia/Shanghai
......