WorkerMan自带了一个简单的Web服务器,同样也是基于Worker实现的。文件位置在Workerman/WebServer.php。这个WebServer开发的目的主要是为了方便运行一些简单的Web程序
站点目录如下:web目录 为站点程序目录;
database.php文件代码:
require_once '../vendor/workerman/mysql/src/Connection.php';
global $db;
$db = new \Workerman\MySQL\Connection('127.0.0.1', '3306', 'example', 'example123', 'example');
$_SESSION['shili']= '这是一个workerman webserver 示例';
server_start.php文件代码:
/**
* Workerman Server服务端示例
*/
use \Workerman\Worker;
use \Workerman\WebServer;
require_once __DIR__ . '/workerman-for-win/Autoloader.php';
// 这里监听8080端口,如果要监听80端口,需要root权限,并且端口没有被其它程序占用
$webserver = new WebServer('http://0.0.0.0:80');
// 类似nginx配置中的root选项,添加域名与网站根目录的关联,可设置多个域名多个目录
$webserver->addRoot('www.example.com', __DIR__ . '/web/');
// 设置开启多少进程
$webserver->count = 4;
Worker::runAll();
index.php文件代码:
require_once '../common/database.php';
global $db;
$user_list = $db->select('*')->from('user')->orderByDESC(array('id'))->query();
?>
<?php if(!empty($_SESSION['shili'])) echo $_SESSION['shili'] ?>用户名: | |
密码: | |
ID | Username | Reg_date | reg_ip | 操作 |
if (!empty($user_list)) {
foreach ($user_list as $list) {
?>
<?phpecho $list['id'];
?>
<?phpecho $list['username'];
?>
<?phpecho $list['reg_time'];
?>
<?phpecho $list['reg_ip'];
?>
编辑 删除} ?>
add.php文件代码:
require_once '../workerman-for-win/Protocols/Http.php';
require_once '../common/database.php';
global $db;
$username = $_POST['username'];
$password = $_POST['password'];
if(empty($_POST['id'])){
if(empty($username) || empty($password)){
\Workerman\Protocols\Http::end('用户名或密码不能为空');
//echo json_encode('用户名或密码不能为空');
}
$data = array(
'username'=>$username,
'password'=>$password,
'reg_time'=>date('Y-m-d H:i:s'),
'reg_ip'=>'',
);
$insert_res = $db->insert('user')->cols($data)->query();
unset($data);
if($insert_res){
//\Workerman\Protocols\Http::end('插入数据成功');
\Workerman\Protocols\Http::header('Location:'.'/index.php');
}else{
\Workerman\Protocols\Http::end('插入数据失败');
}
}else{
if(empty($username)){
\Workerman\Protocols\Http::end('用户名不能为空');
//echo json_encode('用户名或密码不能为空');
}
$id = $_POST['id'];
$username = $_POST['username'];
$password = $_POST['password'];
$data = array(
'username'=>$username,
'password'=>$password,
);
if(empty($password)) unset($data['password']);
$update_res = $db->update('user')->cols($data)->where("id=:id")->bindValue('id',$id)->query();
if($update_res){
//\Workerman\Protocols\Http::end('插入数据成功');
\Workerman\Protocols\Http::header('Location:'.'/index.php');
}else{
\Workerman\Protocols\Http::end('更新数据失败');
}
}
del.php文件代码:
require_once '../workerman-for-win/Protocols/Http.php';
require_once '../common/database.php';
global $db;
$id = $_GET['id'];
$del_res = $db->delete('user')->where('id=:id')->bindValue('id',$id)->query();
if($del_res){
//\Workerman\Protocols\Http::end('插入数据成功');
\Workerman\Protocols\Http::header('Location:'.'/index.php');
}else{
\Workerman\Protocols\Http::end('删除数据失败');
}
在终端进入程序目录下执行 php server_start.php start 启动 WebServer服务;