2016年5月21日 18:21:12 星期六

PHP7用了vc14编译的, 因此windows要下载安装一个vc14的发行包, 只有16M

2016年6月1日 23:23:52 星期三

利用PHP自带的web服务器和对sqlite3的支持进行本地网站的搭建(不用nginx/apache 不用mysql)

1. 启动脚本

 @echo off
set currentDir=%cd%
set "codeDir=%currentDir%\code"
set "srcDir=%currentDir%\phpsrc"
set "binFile=%srcDir%\php.exe" @echo on
%binFile% -S localhost: -t %codeDir%

说明:

第2行: 指定PHP代码的根目录路径

第5行: 指定php.exe的路径

第8行: 启动, 监听本地的8000端口, 并将请求转发给codeDir下的index.php

2.创建路径

 /
/code
/index.php
/phpsrc
/php src code here
/log
/error.log
/start.bat

说明:

根目录下有 code, log, phpsrc三个文件夹, 还有一个strat.bat的启动脚本

其中 phpsrc是最新的PHP代码

code是存放PHP代码文件的, 需要在PHP配置文件中指定:

doc_root = "../code"

log是存放日志的文件夹, 其中有一个文件是error.log, 也需要在PHP配置文件中指定:

error_log = ../log/error.log

sqlite3

开启sqlite3的扩展, 在PHP的配置文件中去掉下边这一行最前边的分号:

extension=php_sqlite3.dll 

sqlite的使用

编辑/code/index.php如下:

 <?php
class MyDB extends SQLite3
{
function __construct()
{
$this->open('test.db');
}
}
$db = new MyDB();
if(!$db){
echo $db->lastErrorMsg();
} else {
echo "Opened database successfully\n";
} $sql =<<<EOF
CREATE TABLE if not exists COMPANY(
ID INTEGER PRIMARY KEY autoincrement,
NAME varchar(100) NOT NULL,
AGE INT NOT NULL,
ADDRESS varchar(255),
SALARY REAL);
EOF; $ret = $db->exec($sql);
if(!$ret){
echo $db->lastErrorMsg();
} else {
echo "Table created successfully\n";
} $sql =<<<EOF
INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
VALUES ('Paul', 32, 'California', 20000.00 ); INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
VALUES ('Allen', 25, 'Texas', 15000.00 ); INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
VALUES ('Teddy', 23, 'Norway', 20000.00 ); INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
VALUES ('Mark', 25, 'Rich-Mond ', 65000.00 );
EOF; $ret = $db->exec($sql);
if(!$ret){
echo $db->lastErrorMsg();
} else {
echo "Records created successfully\n";
} $sql =<<<EOF
SELECT * from COMPANY;
EOF; $ret = $db->query($sql);
while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
echo "ID = ". $row['ID'] . "<br>";
echo "NAME = ". $row['NAME'] ."<br>";
echo "ADDRESS = ". $row['ADDRESS'] ."<br>";
echo "SALARY = ".$row['SALARY'] ."<br><br>";
}
echo "Operation done successfully\n";
$db->close();

上述工作做完以后, 将整个目录结构放到一个文件夹中, 然后将这个文件夹随便放到哪个目录下边, 双击那个start.bat文件,

然后在浏览器中输入 localhost:8000就可以访问到/code/index.php执行的结果了

结束

Finger PHP 框架

windows7 安装PHP7 本地网站搭建的更多相关文章

  1. 网站搭建 - 虚拟机的安装 - Linux 本地网站搭建第一步

    搭建网站-1-域名申请参见公众号 生物信息系统(swxxxt) 搭建网站-域名绑定见稍后的一章,就是直接点解析,然后就完事了,可以不看的. 首先准备材料: 先装虚拟机,会要求重启,那就重启吧,安装界面 ...

  2. node.js express安装及示例网站搭建

    1.首先肯定是要安装Node.JS windows cmd依次输入如下命令: cd C:\Program Files\nodejs\ npm install -g expressnpm install ...

  3. 网站搭建-windows 系统 本地 网站搭建 - IIS

    上一章有提到IIS安装,现在打开它: 点击浏览,如果没有启动的话,先点击启动. ip先选好,第一个吧,本机的(IIS自己提供了初始网页的东西). 然后可以自己去https://www.freemoba ...

  4. PHP7运行环境搭建(Windows7)

    注:本文来源于<    PHP7运行环境搭建(Windows7)   > php7号称能直追facebook的HHVM,为了体验一把传说中的高性能,我特意在本地电脑上尝试着安装了php7, ...

  5. 网站搭建-2-本地网站搭建-安装Linux虚拟机/ 安装IIS Windows

    搭建网站-1-域名申请参见公众号 生物信息系统(swxxxt) 首先,已经拥有了一个可以正常使用的域名. 之前买了两年的阿里的服务器,由于是Windows的,最后不了了之了(因为当时找的代码都是lin ...

  6. 搭建LNAMP环境(四)- 源码安装PHP7

    上一篇:搭建LNAMP环境(三)- 源码安装Apache2.4 一.安装PHP7 1.yum安装编译php需要的包 yum -y install libxml2 libxml2-devel curl- ...

  7. 基于本地iso 搭建的本地yum源 安装部署openldap

    1,yum openldap-servers,openldap-clients 基于iso-cd1搭建的本地yum源(具体搭建参看ruige的repo本地快速搭建,在右边 找找看中输入repo key ...

  8. Windows7安装Bitvise开启ssh服务

    Windows7安装Bitvise开启ssh服务 by:铁乐猫 在Liunx和windows10上配置SSH服务是一件很容易的事,毕竟系统己经自带了ssh的服务功能. 不过在windows7上可不容易 ...

  9. CentOS7 编译安装 php7

    更新:2019-01-25 补充:CentOS 7.5 全新编译安装 PHP-7.3.1 ,补充内容接在原文之后 更新:2018-09-29 补充:新系统下编译安装PHP-7.2.5遇到的问题,补充内 ...

随机推荐

  1. git使用札记

    #1,本地推送到远程 查看本地关联的远程分支:git remote -v 添加远程分支:git remote add 推送本地到远程分支:git push URLOFYOURGIT #2,远程获取一个 ...

  2. rpc框架之avro 学习 1 - hello world

    avro是hadoop的一个子项目,提供的功能与thrift.Protocol Buffer类似,都支持二进制高效序列化,也自带RPC机制,但是avro使用起来更简单,无需象thrift那样生成目标语 ...

  3. JS组件系列——Bootstrap寒冬暖身篇:弹出框和提示框效果以及代码展示

    前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...

  4. dockerRegistry搭建

    docker registry安装: 官方仓库下载registry     pull镜像: fu@ubuntu:~$ sudo docker pull registry    运行镜像 : sudo ...

  5. 使用对话框 —— Dialog

      对话框就是一般的弹出窗口,主要用来提示用户,和用户交互.   创建Activity对话框 使用Activity模拟对话框.这个比较简单,主要是使用Activity自带的Dialog主题.   创建 ...

  6. java 8

    java 8 发布已经有一段时间了,然而很多新特性被拒之门外,让人敬而生畏,但是,时代在进步,技术在发展,要追随时代的脚步就要跟随新的潮流.总结下java 8 中常用的小功能点,学如逆水行舟,不进则退 ...

  7. linux免交互登陆远程主机并执行命令(密钥对和Expect)

    原文章摘自:http://lizhenliang.blog.51cto.com/7876557/1607723/ Linux下实现免交互登陆一般有两种: 1. SSH无密码认证方式 客户端使用ssh- ...

  8. 【51Nod 1622】【算法马拉松 19C】集合对

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1622 简单题..直接暴力快速幂 #include<cstdio&g ...

  9. TWRP基于omnirom 6.0.1编译教程

    1.环境搭配 参照CM13.0编译笔记http://www.cnblogs.com/dinphy/p/5670293.html 参照SM 2.0 编译笔记http://www.cnblogs.com/ ...

  10. php 读取csv 乱码

    在php手册里面有这样一个例子,为什么读出的是乱码<?php$row = 1;$handle = fopen("test.csv","r");while ...