是php5.3以下版本的安装方法。
1、首先是下载PHP安装文件和MYSQL安装文件,请注意MYSQL有很多个版本,有社区版、标准版、企业版、集群版,其中只有社区版是免费的。
2、在服务器上配置好IIS,推荐IIS7以上版本,控制面板-打开或关闭windows功能-万维网服务-应用程序开发功能里选上对应就可安装。
3、配置php环境:把php压缩包解压到C:\php目录下面,然后找到php.ini-dist,更名为php.ini,
修改里面的扩展目录
extension_dir
=
“C:\php\ext\”。
把以下扩展前面的分号去掉以启用
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mysql.dll
fastcgi.impersonate=1
默认为0,如果使用IIS,需要开启
cgi.fix_pathinfo=1
cgi.force_redirect=0
默认开启,如果使用IIS,可以将其关闭
其次指定extension_dir目录和date.timezone,即
extension_dir =
"C:/php53iis/ext"
date.timezone=
Asia/Shanghai
4、然后把extension=php_mysql.dll前面的分号去掉,保存并把php.ini复制到系统Windows目录下面。
5、然后依次打开我的电脑(右键)->管理->服务和应用程序->Internet信息服务(IIS)管理器,打开ISAPI和CGI限制,然后添加php的ISAPI的执行文件php5isapi.dll.
6、配置Mysql:把下载的mysql文件直接安装即可,然后复制php目录下面的libmysql.dll到系统Windows下面的System32目录里。
7、重启IIS,即完工。
如果是php5.3及以上版本,根本没有php5isapi.dll,也不需要把php.ini移动到windows安装目录,建议采用安装版,直接安装即可。
vue在服务端部署时,我们都知道通过npm run build 指令打包好的dist文件,通过http指定是可以直接浏览的,Thinkphp通过域名指向index.php文件才可以浏览。要使前端正常调用后端数据,有两种方法:1、前端跨域调用后端数据,2、前端打包文件部署在后端的服务器文件夹下(同域)。
web服务器: apache
一、跨域
在服务器配置站点:
在路径/home/www/ 下创建test项目文件夹,用来放项目文件。
找到httpd-vhosts.conf文件配置站点
前端站点:
ServerName test.test.com
DocumentRoot "/home/www/test/dist"
DirectoryIndex index.html
后端站点:
ServerName test.testphp.com
DocumentRoot "/home/www/test/php"
DirectoryIndex index.php
将前端打包好的dist文件放在/home/www/test/ 文件夹下,运行http://test.test.com可浏览,当路径改变时,刷新会出现404错误。此时dist文件下创建一个.htaccess文件,当路径不存在时,路径指向http://test.test.com/index.html能解决此问题。
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
在/home/www/test文件夹下创建项目根目录php文件夹,将thinkphp文件放在php下。TP5的入口文件在public文件下,在这将public下的入口文件index.php挪到php文件夹下(个人习惯将入口文件放在项目根目录), 后端绑定Index模块。
前端调用后端接口,存在跨域,跨域解决方法有好几种,在这我将在后端php做配置,解决跨域问题,在公用控制器设置跨域配置:
class Common extends Controller
{
public $param
// 设置跨域访问
public function _initialize()
{
parent::_initialize()
isset($_SERVER['HTTP_ORIGIN']) ? header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN']) : ''
header('Access-Control-Allow-Credentials: true')
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS')
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, authKey, sessionId")
$param = Request::instance()->param()
$this->param = $param
}
}
前端调用登录接口: this.axios.post('http://test.testphp.com/index.php/base/login', {user: '', password: ''})。
(可在webpack.base.conf.js文件下可定义接口:http://test.testphp.com/index.php/)
二、同域
后端配置同上,公共配置器中的header配置注释。将前端的dist文件下的所有文件(包含.htaccess),放在php文件夹下。将后端index控制器的index方法的路径重定向php下的index.html文件:
namespace app\index\controller
use think\Controller
class Index extends Controller
{
public function index() {
$this->redirect('/index.html')
}
}
前端调用登录接口: this.axios.post('/index.php/base/login', {user: '', password: ''})
转自:https://blog.csdn.net/qq_35465132/article/details/78986675
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)