2016年5月21日 18:21:12 星期六php
PHP7用了vc14編譯的, 所以windows要下載安裝一個vc14的發行包, 只有16Mmysql
2016年6月1日 23:23:52 星期三nginx
利用PHP自帶的web服務器和對sqlite3的支持進行本地網站的搭建(不用nginx/apache 不用mysql)web
1. 啓動腳本sql
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%
說明: apache
第2行: 指定PHP代碼的根目錄路徑windows
第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執行的結果了
結束