搭建这个一个奇葩的环境、完全是被逼的
这是一个坑,官方提供4个win版本的PHP(横向版本),分别是32位非线程安全、32位线程安全、64位非线程安全和64位线程安全。其实这本身不太坑,但是加上SQLServer就是大坑了:(危险动作,请勿模仿)我是64位服务器,所以安装了64位线程安全版本,然后连接SQLServer需要给PHP添加几个依赖,也就是.dll文件,然后还要装驱动。坑爹的事情发生了,php.ini我都把这个dll写全路径,依然告诉我找不到,后来我发现这个dll也是有版本的,有nts和ts版本,仔细一想,这不就是no thread safe 和thread safe的缩写么 ,这个要对应版本安装。而且最好对应PHP的版本,像我用的PHP7.1,对应的dll也要是71。本以为我太特么机智了,那我只用线程安全的dll对应我下载的线程安全的PHP就好了,结果还是找不到。最终,神农尝遍百草,发现PHP7.1非线程安全版本配合对应版本的非线程安全的dll文件才可以。所以,这里我们就按照没毒的姿势走吧。
地址:http://windows.php.net/download/ 我选择的是VC14 x64 Non Thread Safe (2017-Aug-02 00:22:57),这里下载zip包就可以。
C:\php
(解压完后,我把目录名称改为php了,这样简单一点)
php -v
显示PHP版本信息,就是安装成功了。Windows Extensions
,仿照下面的扩展配置把刚刚下载的dll文件名字配置进去,其实只需要那两个非线程安全的即可,其他的扩展文件根据你自己的需求放开注释,也就是去掉分号,可以看到extension=php_pdo_sqlsrv_71_nts.dll,extension=php_sqlsrv_71_nts.dll就是我需要用的扩展:
...
; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+)
; extension folders as well as the separate PECL DLL download (PHP 5+).
; Be sure to appropriately set the extension_dir directive.
;
extension=php_pdo_sqlsrv_71_nts.dll extension=php_sqlsrv_71_nts.dll ;extension=php_pdo_sqlsrv_71_ts.dll ;extension=php_sqlsrv_71_ts.dll
extension=php_bz2.dll extension=php_curl.dll extension=php_fileinfo.dll extension=php_ftp.dll extension=php_gd2.dll extension=php_gettext.dll extension=php_gmp.dll extension=php_intl.dll extension=php_imap.dll ;extension=php_interbase.dll extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysqli.dll ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client extension=php_openssl.dll ;extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll extension=php_pgsql.dll extension=php_shmop.dll
...
## 安装Composer,添加Laravel
### 下载安装
下载地址:https://getcomposer.org/Composer-Setup.exe 下载后双击安装即可
安装完成后在命令提示符中输入`composer -V`看到版本信息即安装成功
### 添加laravel依赖
```composer global require "laravel/installer"```
### 创建新的laravel项目
```laravel new blog```
## 安装Nginx
### 下载安装
下载地址:http://nginx.org/
下载解压后,找个地方屯起来,我又放C盘根目录了,可以跟配置PHP一样配置环境变量,这样在哪里都可以使用相关指令,不然就先进入到Nginx目录下,当然同样是在命令提示符下进入目录,然后`start nginx` 是开启Nginx服务,`nginx -s reload` 是重新加载Nginx的配置。
### 配置Nginx
在Nginx的目录下有个nginx.conf的文件,编辑此文件,找到server{...}的位置,并按照以下内容在相应位置添加或修改,其中root 后对应的是你laravel项目的路径加上\public,因为框架的启动入口是在项目public目录下的index.php。配置完成后保存然后在命令提示符下执行`nginx -s reload` 即可。
server { listen 80; server_name localhost; root C:\Users\vien\blog\public;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
## 启动php-cgi并测试
启动脚本:```php-cgi.exe -b 127.0.0.1:9000 -c C:/php/php.ini``` ,其中最后是配置文件的路径,这里换成你的。
那么问题来了,你只要关了这个黑窗口(命令提示符cmd),那就结束了,如何让他开机启动,并且能一直挂在后台运行呢。这里提供一种解决方案,写一个开启Nginx和php-cgi的bat文件,写一个关闭二者的bat文件,并且创建快捷方式,放在系统启动目录中就可以了。
参考:http://blog.csdn.net/qq_32457355/article/details/77480018
## 连接SQL Server
### 创建新的Login并给予权限,开放TCP/IP连接通道。
参考:http://blog.csdn.net/qq_32457355/article/details/77480623
### 连接配置
使用刚才的用户名和密码,以及默认1433端口连接,连接信息在laravel的配置文件.env文件中配置即可。
viencoding.com版权所有,允许转载,但转载请注明出处和原文链接: https://viencoding.com/article/19