zoukankan      html  css  js  c++  java
  • windows7 安装PHP7 本地网站搭建

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

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

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

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

    1. 启动脚本

    1 @echo off
    2 set currentDir=%cd%
    3 set "codeDir=%currentDir%code"
    4 set "srcDir=%currentDir%phpsrc"
    5 set "binFile=%srcDir%php.exe"
    6 
    7 @echo on
    8 %binFile% -S localhost:8000 -t %codeDir%

    说明: 

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

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

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

    2.创建路径

    1 /
    2 /code
    3     /index.php
    4 /phpsrc
    5     /php src code here
    6 /log
    7     /error.log
    8 /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如下:

     1 <?php
     2     class MyDB extends SQLite3
     3     {
     4       function __construct()
     5       {
     6          $this->open('test.db');
     7       }
     8     }
     9     $db = new MyDB();
    10     if(!$db){
    11       echo $db->lastErrorMsg();
    12     } else {
    13       echo "Opened database successfully
    ";
    14     }
    15 
    16     $sql =<<<EOF
    17       CREATE TABLE if not exists COMPANY(
    18       ID INTEGER PRIMARY KEY autoincrement,
    19       NAME           varchar(100)    NOT NULL,
    20       AGE            INT     NOT NULL,
    21       ADDRESS        varchar(255),
    22       SALARY         REAL);
    23 EOF;
    24 
    25    $ret = $db->exec($sql);
    26    if(!$ret){
    27       echo $db->lastErrorMsg();
    28    } else {
    29       echo "Table created successfully
    ";
    30    }
    31    
    32    $sql =<<<EOF
    33       INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
    34       VALUES ('Paul', 32, 'California', 20000.00 );
    35 
    36       INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
    37       VALUES ('Allen', 25, 'Texas', 15000.00 );
    38 
    39       INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
    40       VALUES ('Teddy', 23, 'Norway', 20000.00 );
    41 
    42       INSERT INTO COMPANY (NAME,AGE,ADDRESS,SALARY)
    43       VALUES ('Mark', 25, 'Rich-Mond ', 65000.00 );
    44 EOF;
    45 
    46    $ret = $db->exec($sql);
    47    if(!$ret){
    48       echo $db->lastErrorMsg();
    49    } else {
    50       echo "Records created successfully
    ";
    51    }
    52     
    53     $sql =<<<EOF
    54       SELECT * from COMPANY;
    55 EOF;
    56 
    57    $ret = $db->query($sql);
    58    while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
    59       echo "ID = ". $row['ID'] . "<br>";
    60       echo "NAME = ". $row['NAME'] ."<br>";
    61       echo "ADDRESS = ". $row['ADDRESS'] ."<br>";
    62       echo "SALARY =  ".$row['SALARY'] ."<br><br>";
    63    }
    64    echo "Operation done successfully
    ";
    65    $db->close();
    View Code

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

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

    结束

     Finger PHP 框架

  • 相关阅读:
    怎么在Vue项目中使用Element组件
    vue-cli 基本使用
    C++ delete指针以后应赋值为NULL
    C++ noexcept异常说明及其使用
    Qt 设置comboBox里面的字体颜色
    Qt 获取可用串口
    Qt 寻找可用串口
    荧光显微镜简介
    荧光滤光片简介
    消色差、半复消色差、复消色差的区别
  • 原文地址:https://www.cnblogs.com/iLoveMyD/p/5515290.html
Copyright © 2011-2022 走看看