记录php遇到的那些坑
首先按照网上指南搭建php、阿帕奇、数据库环境。
具体放上网站
http://www.cnblogs.com/ypr-09-23/p/10797153.html 这是mysql安装指南
需要注意的是学校使用的数据库是有图形界面的,这个安装完后一样使用,只是看起来别扭而已。
其中my.ini文件,只有三个地方需要修改(标记备注的地方)
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_bin
init_connect='SET NAMES utf8mb4'
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = D:\搜狗高速下载\mysql-8.0.16-winx64 //这里是你自己安装mysql的文件地址
datadir = D:\MySQL\Database //用来存放数据库文件的地址,自己要新建一个哟
port = 3306 //端口号默认不用修改
# server_id = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 16M
read_rnd_buffer_size = 16M
sql_mode=NO_EN
2.接下来得去下载阿帕奇
https://jingyan.baidu.com/article/d8072ac47baf0eec95cefdca.html 地址,不多说
其中最重要的配置文件是conf文件夹中的httpd.conf,注意端口号,详细的一会说。
3.下载phpD:\php-7.3.5-nts-Win32-VC15-x64
https://jingyan.baidu.com/article/c33e3f488e7f38ea15cbb530.html下载方式
在选择文件版本时有一个Thread Safe 注意前面是否有Non,要下载不带Non的!!!
4.连接数据库,这时候你得保证自己的php文件可以正常使用。
在你的D:\Apache24\htdocs下建一个php文件,打开浏览器
输入http://localhost:8080/xxxxx.php ,在你编程正确的基础上,网页能正常显示结果
mysql之前说过怎么下载了,上边有网址。
最重要的是测试是否连接数据库,步骤如下:
①
<?php
//设定字符集
header('Content-Type:text/html;charset=utf-8'); //开启调试模式
define('DB_DEBUG',true); //加载数据库操作函数库 require '.\lib\db_function.php'; //初始化数据库
$link = db_init(array(
'host' => '127.0.0.1', //主机名
'user' => 'root', //用户名
'password' => '123456',//密码
'dbname' => 'stumanager', //数据库
'charset' => 'utf8' //字符集
)); //接收GET变量
function input_get($name){
return isset($_GET[$name]) ? $_GET[$name] : '';
}
//接收POST变量
function input_post($name){
return isset($_POST[$name]) ? $_POST[$name] : '';
} /**
* 对字符串数据进行过滤
* @param string $data 待转义字符串
* @return string 转义后的字符串
*/
function filter($data,$func=array('trim','htmlspecialchars')){
foreach($func as $v){
//调用可变函数过滤数据
$data = $v((string)$data);
}
return $data;
} /**
* JavaScript弹窗并返回
*/
function alert_back($msg){
echo "<script>alert('$msg');history.back();</script>";
exit;
}
主机名默认,用户名默认,密码填写数据库的密码,数据库名称写自己建立的database名称即可。
问题及解决方案
我是搭建完成后才写这个的,可能有遗漏啥的qaq
1.数据库的使用
进入cmd,进入自己数据库的bin文件夹
执行命令 mysql -hlocalhost -uroot -p(搭建好的前提下)
若是没搭建好请看https://blog.csdn.net/qq_41307443/article/details/79839558 非常详细
问题一:MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES) 拒绝访问,并可修改MySQL密码
参考https://blog.csdn.net/qq_36675754/article/details/81381341
你在安装成功mysql后建表时会提醒你需要修改密码,这里折腾了我好长时间
博主赠一句
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
在你脑子混乱束手无策的时候这句有奇效!
当然cmd可能会提示你用户名重复,这时 Delete FROM user Where User='test' and Host='localhost';
再重新创建并修改密即可。
问题二:Install/Remove of the Service Denied!
在c盘中用管理员身份打开cmd,再install mysql
问题三:php代码在网页上不能正确编译
打开Apache的httpd.conf配置文件,添加以下代码:
#加载PHP模块
LoadModule php5_module "D:/php-5.4.28/php5apache2_2.dll"
AddType application/x-httpd-php . php
PHPIniDir "D:/php-5.4.28"
地址记得改成自己的。
问题四:PHP环境搭建时缺少php7apache2_4.dll
回到上边第三点:没有dll文件是你下载了带有Non-Thread Safe的了,需要重新下载。
(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次
问题五:Fatal error: Failed opening required
这个错误等同于 error: connect require()
这时候不要忙于检查你的init配置文件是否有错,而是在D:\搜狗高速下载\mysql-8.0.16-winx64\lib中找到libmysql.dll
并将其复制到C:\Windows\System32中,让系统识别这个文件。
-------------------------------------------------------------------------------------------------------
月光还是少年的月光,九州一色还是李白的霜
记录php遇到的那些坑的更多相关文章
- CozyRSS开发记录0-RSS阅读器开坑
CozyRSS开发记录0-RSS阅读器开坑 1.RSS RSS,全名是Really Simple Syndication,简易信息聚合. 关于RSS相关的介绍,网上可以很容易的找到.RSS阅读器是我几 ...
- 记录Jackson和Lombok的坑
记录Jackson和Lombok的坑 今天遇到Jackson反序列化json缺少了字段,后来研究下发现是Jackson的机制和Lombok生成的setter不一致,导致没有正确调用setter. 复现 ...
- 【bug记录】OS Lab4 踩坑记
OS Lab4 踩坑记 Lab4在之前Lab3的基础上,增加了系统调用,难度增加了很多.而且加上注释不详细,开玩笑的指导书,自己做起来困难较大.也遇到了大大小小的bug,调试了一整天. 本文记录笔者在 ...
- 【bug记录】OS Lab3 踩坑记
OS Lab3 踩坑记 Lab3在之前Lab2的基础上,增加了进程建立.调度和中断异常处理.其中测试包括进程建立以及进程调度部分. 由于是第一次做bug记录,而且是调试完bug后再做的记录,所以导致记 ...
- 记录使用Buildbot遇到的坑
Buildbot Tips Buildbot也是个大坑..我并不熟悉python,偏偏文档又少.这几天使用buildbot出了不少坑.有的解决了,有的绕过去,这里都把它们一一记下来. Force Bu ...
- ios 记录支付宝集成遇到的坑及解决方法
今天项目中要开始动手集成支付宝支付,在此小结一下.(目前新版的支付宝SDK有较大改版,去集成还需要自己去开发平台详细的按照集成步骤来完成https://doc.open.alipay.com/docs ...
- 记录pageHelper分页orderby的坑
pageHelper的count查询会过滤查询sql中的order by条件! pageHelper分页功能很强大,如果开启count统计方法,在你执行查询条件时会再执行一条selet count(* ...
- wrk 使用记录及踩过的坑
wrk是什么?https://github.com/wg/wrk wrk 是一个非常小巧高效的开源性能测试工具,支持lua脚本来创建复杂的测试场景.wrk 的一个很好的特性就是能用很少的线程压出很大的 ...
- .NET Core 从1.1升级到2.0记录(Cookie中间件踩坑)
.NET Core 2.0 新时代 万众瞩目的.NET Core 2.0终于发布了,原定于9.19的dotnetconf大会的发布时间大大提前了1个月,.NET Core 2.0/.NET Stand ...
- UWP开发细节记录:DirectX::XMMATRIX 的坑
这两天写的代码概率性的崩溃在 XMMatrixMultiply() 函数,XMMatrixMultiply() 本身是 inline 函数可以看到崩溃处的代码: vX = _mm_mul_ps(vX, ...
随机推荐
- Java面向对象之创建对象内存分析
创建对象内存分析 代码 内存分析 属性 属性:字段Field 成员变量 默认初始化: 1.数字: 0 0.0 2.char: u0000 3.boolean:false 4.引用数据类型:null 5 ...
- 两个jsp界面之间使用window.location.href使用?传递参数以及接受参数
这篇文章如果能给你带来帮助,不胜荣幸,如果有不对的地方也欢迎批评指正. 网上有很多方法是讲怎么截取字符串啊等等的方法来获取参数,说实话,看着我就觉得费劲,咱们可以换一种思路来思考.一般跳转界面多为前段 ...
- xxx.app 已损坏,无法打开,你应该将它移到废纸篓/打不开 xxx,因为它来自身份不明的开发者解决方法
xxx已损坏,无法打开,你应该将它移到废纸篓解决办法 打不开 xxx,因为它来自身份不明的开发者 打不开xxxx,因为 Apple 无法检查其是否包含恶意软件 在安装的时候提示加载失败! 解决: 打开 ...
- JavaSE——构造方法
package com.zhao.test3; public class Student { private String name; private int age; //如果我们自己没有写任何的构 ...
- C# 实时显示时间
c#实时显示时间 - vv彭 - 博客园 (cnblogs.com)
- Python爬虫抓取图片(re模块处理正则表达式)
import os.path import re import requests if __name__ == '__main__': # 如果不存在该文件夹则进行创建 if not os.path. ...
- uniapp引入微信小程序自定义视频组件--记录
官方文档:https://zh.uniapp.dcloud.io/tutorial/miniprogram-subject.html 在 pages.json同级目录下 创建目录和文件: wxcomp ...
- Go--解析yaml文件
yaml 文件是目前最常用的配置文件,使用go语言编写代码和工具时,也会用到yaml文件,将服务配置及中间件等信息定义到yaml文件中,后续可根据实际场景来选用. //先下载外部包 go get -u ...
- Camstar获取回参
public static bool SplitQty(string Username, string Password, string Container, int splitQty,int pla ...
- 使用JFinal实现简单的学生管理系统
JFinal简介 Controller是JFinal核按心类美之一,该类作为MVC模式中的控制器.基于JFinal的Web应用的控制器需要继承该类.Controller是定义Action方法的地点,是 ...