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\n"; 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\n"; 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\n"; 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\n"; 65 $db->close();
上述工作做完以后, 将整个目录结构放到一个文件夹中, 然后将这个文件夹随便放到哪个目录下边, 双击那个start.bat文件,
然后在浏览器中输入 localhost:8000就可以访问到/code/index.php执行的结果了
结束