记录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, ...
随机推荐
- git 的提交与合并
1,创建远程仓库 不论是用命令行还是码云之类的都可以 2,git clone url 这是将远程仓库库提交到本地 3, git checkout -b dev 创建dev分支并切换到dev ...
- 30分钟熟练使用最常用的ES6,还不学是等着被卷死?
一. 关于ES6 了解一门技术或者语言,最好的方法就是知道它能做些什么 ES6 , 它是由 ECMA 国际标准化组织,制定的一项脚本语言的标准化规范 那么它为什么会出现呢? 每一次标准的诞生都意味着语 ...
- 关于head中代码被挤到body中的问题
可能是使用php引用文件时出现了问题,文件格式不是utf-8,将其放在head后面就好
- virtualBox虚拟机中安装linux系统并连接
1.安装virtualBox 1.1.下载 virtualBox是免费的,直接去官网下载 https://www.virtualbox.org/ 在官网左侧找到Downloads,下载需要的版本 1. ...
- python官方文档:https://pypi.org/
https://pypi.org/ Find, install and publish Python packages with the Python Package Index
- 解决GitHub下载速度慢下载失败的问题
最近在GitHub上拉取代码时,每次git clone都是文件下载完了发现连接就断掉了,或者下载压缩包显示网络连接错误的情况.下面介绍找到的解决方法: 1.打开码云(当然不是福报)https://gi ...
- PHP二维数组根据某个元素(key)去重
/** * 二维数组根据key去重复 * @param $arr * @param $key * @return array */ function arrayUniqueness($arr,$key ...
- Keil5 STM32 C++开发 ARM V6编译器的使用教程
Keil5更新之后,开始支持ARM V6编译器,新版本的编译器对C++有了更多的支持,在编译方面也做了很多的改善,具体的没有详细了解,本文只是对STM32 开发下,使用V6版本的编译器进行STM32的 ...
- Kongmaster
圣人处无为之事 大智若愚 穷则独善其身,达则兼济天下
- Installing Jupyter
https://jupyter.org/install install pip install jupyterlab config 生成配置文件 jupyter notebook --generate ...