后端php项目和数据库启动

Posted blingbling兵兵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了后端php项目和数据库启动相关的知识,希望对你有一定的参考价值。

有两种方法可以启动 

1.使用小皮面板

①启动php项目开启后端网站

 可去官网下载  下载后就能使用了

官网地址:小皮面板(phpstudy) - 让天下没有难配的服务器环境!

 下载完成后打开

 php项目需要启动apache

创建一个php项目的网站

 注意这里要写public

点击确认即可

 打开网站看是否能正常访问

管理 ----》打开网站

显示如下页面就能正常访问

 ②开启数据库服务

 点击启动即可

可用Navicat连接数据库 实现数据库的可视化

 打开后点击连接

选择mysql

 

连接名随便起

主机是本地

用户名和密码可在小皮面板中设置

 

连接成功后数据库会变成绿色

 

把公司的数据库导入到本地

 

工具中有个数据传输

 

注意mysql版本尽量一致 

我在传输过程中一直报错0000-00-00日期格式不对,在 mysql的安装路径里的my.ini中添加一句话就好了

 在mysqld下添加

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

导入好数据后,在后端代码中修改本地连接的数据库信息即可

 

 此时后端服务就搭建好了 前端连接这个网站即可访问

2.使用PHPWAMP_IN3

压缩包已经放入百度网盘中 ,解压之后即可使用

点击这个文件启动服务

 

可启动Apache和mysql

mysql默认密码是168168

 点击相关设置

 相关设置-->站点管理-->Apache2.4站点管理

注意网站目录写到php文件的public目录下 

剩下操作和第一种一样就可以了

VUE 前端和 PHP 后端/Api 的问题/问题

【中文标题】VUE 前端和 PHP 后端/Api 的问题/问题【英文标题】:Problem / Question with VUE Frontend and PHP Backend / Api 【发布时间】:2021-05-29 22:14:15 【问题描述】:

首先对不起我的英语,因为它不是我的母语。希望它足够清楚。

我们正在开发一个用户系统,用户在登录后可以执行各种操作,例如加入活动、更改个人资料数据、在版块中留言以便其他用户可以阅读和回答等。 这个想法是有两个不同的“项目”,一个用于后端(几乎已经使用 PHP 作为 CRUD Api 完成),一个用于 VUE JS 的前端。

两个项目将托管在同一台服务器上,因此一旦部署,我们将不会遇到任何 CORS 或相关问题。

目前后端使用 PHP Session(如果真的需要,可能会花时间更改身份验证系统)来知道用户已登录。正在使用邮递员进行测试,一切似乎都按预期工作。

我的问题在于如何处理用户会话,在开发过程中知道用户已登录等。一旦项目完成并部署在同一台服务器上,使用 PHP Session 或使用 JWT / Cookies 就没有问题了。但是在开发过程中,我认为如果不构建前端就无法测试前端,因为 API 要么在已经部署的服务器上,要么在 xampp 上本地,这两种方式都给了我很多麻烦,因为:

PHP 会话: 由于php session是域独占的,所以从前端到后端的每个请求,只要不在同一台服务器上,都会被视为不同的session。

智威汤逊: JWT 可能是一个解决方案,但前提是将令牌存储在 localstorage、sessionstorage 或不是 httponly 的 cookie 上,因为如果我希望后端设置一个带有令牌的 httponly cookie,那么由于不同的服务器,在开发过程中 cookie 将不可用,而不是让我在不构建前端并将其部署到主机或将其复制到 xampp 的情况下正确测试前端。 关于localstorage、sessionstorage或者普通的cookies,看了很多之后,因为会引起XSS、CSRF等安全问题,我放弃了。

总结一下,我想说最好的办法是使用 php 会话,因为这两个项目将托管在一起,但我不知道如何测试前端而无需构建和上传或移动 dist 文件夹到 xampp。

感谢您的宝贵时间,希望您能启发我

【问题讨论】:

我之前遇到过这个问题。您可以(在开发期间)将来自 PHP Access-Control-Allow-Origin 的响应标头设置为您正在使用的任何来源,并将 Access-Control-Allow-Credentials 设置为 true。这将跨来源共享会话 感谢您抽出宝贵时间。我以前试过这个,如果我没有错,这只会在发出请求时解决 CORS 问题,但它不会解决我的 php 会话问题,因为会话不会被保存,也不会解决创建 httponly cookie 的问题,对吗? .谢谢 实际上它现在正在工作。我使用基本上是 vue 的 nuxt 制作了几个项目,PHP 仅提供会话登录。如果我关闭浏览器,我必须再次登录,这非常适合该项目。它在使用 localhost:3000 开发时有效,在使用 localhost 时有效,更具体地说,我使用 Phalcon。如果您愿意,我很乐意分享代码 我忘了添加 Access-Control-Allow-CredentialsXMLHttpRequest.withCredentials 一起使用,我为此使用了 axios 并且效果很好 再次感谢。用一个简单的例子试了一下,什么也没有。示例如下。 this.axios.get(URL, withCredentials: true ).then( function(response) console.log(response); ) 在 php 上,我有标头、来源和凭据,我检查会话是否存在如果不是,我创建它并将一个字符串分配给会话变量,然后尝试它是否保留它。但在第二次请求时,会话将显示为空。我可以在响应标头上看到“set-cookie:PHPSESSID=9hs288a933je6umklan0eldrtv; path=/”,但下次 PHPSESSID 不同。 【参考方案1】:

设置 php 响应标头以允许 cmets 上建议的 Talal 凭据:

header("Access-Control-Allow-Origin: http://localhost:8080");
header("Access-Control-Allow-Credentials: true");

在 axios 调用中传递参数 withcredentials: true

this.axios.get(URL, withCredentials: true )

可以解决大部分 CORS 问题,服务器会在响应中发送会话 cookie,但浏览器仍然会拒绝保存 cookie,因为未设置 SameSite 蜜蜂(Chrome 将其默认设置为 Lax)。 解决了这个问题:

ini_set('session.cookie_secure', "1"); 
ini_set('session.cookie_httponly', "1"); 
ini_set('session.cookie_samesite','None');

【讨论】:

会话持续了吗? 将 cookie / session 设置为安全且与 none 相同的站点是的。我想只有在开发过程中设置这些才能解决问题。谢谢塔拉尔

以上是关于后端php项目和数据库启动的主要内容,如果未能解决你的问题,请参考以下文章

后端工程师的技术

从app上传图片到php,再上传到java后端服务器的方法一览

CMDB和运维自动化

好岗位2:大数据/java/后端/.net你要的好岗位,慢慢看

Centos7运维-第一次在Linux下部署PHP项目,采用LAMP网站架构(Linux+Apache+MySQL+PHP)

服务器类型为tengine 后端是php 还是java