本篇文章给大家带来了PHP入门笔记,其中记录的知识点非常详细,PHP语言作为一种语言程序,其专用性逐渐在应用过程中显现,希望大家能够从中感受到PHP的魅力,希望对大家有帮助。
php入门到就业线上直播课:进入学习API 文档、设计、调试、自动化测试一体化协作工具:点击使用
简介
PHP (超文本预处理器)原始为Personal Home Page的缩写,已经正式更名为 ;PHP: Hypertext Preprocessor;。自20世纪90年代国内互联网开始发展到现在,互联网信息几乎覆盖了我们日常活动所有知识范畴,并逐渐成为我们生活、学习、工作中必不可少的一部分。据统计,从2003 年开始,我国的网页规模基本保持了翻番的增长速度,并且呈上升趋势。PHP 语言作为当今最热门的网站程序开发语言,它具有成本低、速度快、可移植性好、 内置丰富的函数库等优点,因此被越来越多的企业应用于网站开发中。但随着互联网的不断更新换代,PHP语言也出现了不少问题。
根据动态网站要求,PHP语言作为一种语言程序,其专用性逐渐在应用过程中显现,其技术水平的优劣与否将直接影响网站的运行效率。其特点是具有公开的源代码, 在程序设计上与通用型语言,如C语言相似性较高,因此在操作过程中简单易懂,可操作性强。同时,PHP语言具有较高的数据传送处理水平和输出水平,可以广泛应用在Windows系统及各类Web服务器中。如果数据量较大,PHP语言还可以拓宽链接面,与各种数据库相连,缓解数据存储、检索及维护压力。随着技术的发展,PHP 语言搜索引擎还可以量体裁衣,实行个性化服务,如根据客户的喜好进行分类收集储存,极大提高了数据运行效率。
主要特点
(一)开源性和免费性
由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP 运行环境的使用也是免费的。
(二)快捷性
PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。
(三)数据库连接的广泛性
PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。
(四)面向过程和面向对象并用
在PHP语言的使用中,可以分别使用面向过程和面向对象, 而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言做不到的。
优点
(一)流行,容易上手
PHP是目前最流行的编程语言,这毋庸置疑。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。
(二)开发职位很多
在服务器端的网站编程中PHP会更容易帮助你找到工作。很多互联网相关企业都在使用PHP开发框架,所以可以说市场对PHP的开发程序员的需求还是比较大的。
(三)仍然在不断发展
PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用。
(四)可植入性强
PHP 语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。
(五)拓展性强
PHP 语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高。
缺点
(一)PHP的解释运行机制
在 PHP 中,所有的变量都是页面级的,无论是全局变量, 还是类的静态成员,都会在页面执行完毕后被清空。
(二)设计缺陷,缺少关注PHP被称作是不透明的语言,因为没有堆栈追踪,各种脆弱的输入。没有一个明确的设计哲学。早期的PHP受到Perl的影响,带有out参数的标准库又是有C语言引入,面向对象的部分又是从 C++和Java学来的。
(三)对递归的不良支持
PHP并不擅长递归。它能容忍的递归函数的数量限制和其他语言比起来明显少。
PHP 语法<?php //注意?跟PHP之间没有空格echo ;Hello World !;; //每句以 ; 结束?>注释:
//……单行注释
#…… 单行注释
/*……….*/ 多行注释
变量:
$array=NAME; 变量名必须以字母或者下划线开始,不能用数字开头,中间不能有空格! 大小写敏感!
$x=5; $X=7; 输出为不同结果
<?php
$a = 1;
$A = 2;
echo $a . ;<br>;;
echo $A;
?>
局部变量
<?php
$a=1; //全局变量
function test() { //声明一个函数,名字为 test
$a=15; //函数内的变量,为局部变量
echo ;内部输出结果:;.$a;
}
test();
echo ;<br>;;
echo ;外部输出结果:;.$a;
?>
<?php
$a=1;
function test() { //声明一个函数,名字为 test
global $a; //在函数内声明并引用外部变量,注意这里是小写 global
echo $a;
echo ;<br>;;
}
test(); //使用函数
echo $a;
?>
<?php
$a=10;
$b=20;
$c=30;
function test() {
$a=100;
$GLOBALS[;a;]=$GLOBALS[;b;]+$GLOBALS[;c;]; //引用全局变量,这里的 GLOBALS 必须大写
echo $a.;<br>;;
}
Test(); //函数名不区分大小写
echo ;<br>;;
echo $a;
?>
<?php
function test() {
static $a = 0; //静态作用域,保留变量值
echo $a . ;;;
$a++;
}
test();//不使用static的话,每次输出都是 0
echo ;<br>;;
test();
echo ;<br>;;
test();
?>
parameter 参数作用域<?php
$a = 10;
$b = 20;
function test() {
$a = 30;
$b = 40;
$c = $a + $b;
echo ;函数内运算值:;.$c;
echo ;<br>;;
}
test();
$c = $a + $b;
echo ;函数外运算值:;.$c;
?>
echo 和 print 的区别:
echo ;123;,;456;,;789;;//能够连续输出多个字符串
print ;123;,;456;; //输出错误
换行符:
echo ;<br />;;
echo ;\n;;
echo PHP_EOL; //换行符
返回变量类型: var_dump
<?php
$a = ;1111;;
$b = 123;
$c = null;
echo var_dump($a) . ;<br>;;
echo var_dump($b) . ;<br>;;
echo var_dump($c) . ;<br>;;
$d = array(;a;, 1, abc); //数组
echo var_dump($d) . ;<br>;;
$e = true;
echo var_dump($e);
?>
<?php
$text1=;ni hao;;
$text2=;hahaha;;
echo $text1.; ;.$text2.;<br>;; //引用多个变量用 点 . (英文)连接 为空格
$a = strlen($text1);//计算字符串长度数
echo $a;
?>//空格也算作一个字符
强引用和弱引用
<?php
$text1 = ;ni hao;;
echo ;$text1; . ;<br>;;// “ ” 双引号输出会显示变量值
echo ;$text1;;// ‘’ 单引号会显示变量名本身
?>
自增自减输出
<?php
$x = 10;
echo ++$x;//先自增后输出
echo ;<br>;;
$a=15;
echo –$a . ;<br>;;//先自减后输出
$y = 20;
echo $y++ . ;<br>;;//先输出后自增
$b=30;
echo $b–;//先自增后输出
?>
if 条件判断
<?php
$x = 10;
$y = 20;
if ($x > $y) {//判断 x 和 y 的大小,如果满足 $x > $y 就输出 true
echo ;true;;
}else if($x==$y) {//else if 如果上面的判断不满足,再次判断 $x==$y 是否相等 ,如果满足就输出 $x.;等于;$y;
echo $x.;等于;$y;
}
else {//如果上面的判断都不满足就输出 false
echo ;false;;
}
?>
<?php
$x= (3>4)? ;true;:;false;;//三元运算符
echo $x;
?>
switch 判断
<?php
$a=;abc;;
switch ($a) {
case ;red;:
echo ;red;;
break; //跳出整个循环体,continue跳出本次循环体,继续执行后面的循环体。
case ;green;:
echo ;green;;
break;
case ;black;:
echo ;black;;
break;
default:
echo ;not color;;
}
?>
数组
<?php
$cars = array(;BMW;, ;BinLi;, ;大众;);
echo ;I like ; . ;$cars[0];, ; ;, ;$cars[1];, ; ;, ;$cars[2];;
?>
<?php
$cars = array();
$cars[0] = ;BMW;;
$cars[1] = ;BINlix;;
$cars[2] = ;大众;;
echo ;I like ; . ;$cars[0];, ; ;, ;$cars[1];, ; ;, ;$cars[2];;
?>
<?php
$cars = array();
$cars[0] = ;BMW;;
$cars[1] = ;BINlix;;
$cars[2] = ;大众;;
echo count($cars) . ;<br>;;// count 返回数组长度
echo ;I like ; . ;$cars[0];, ; ;, ;$cars[1];, ; ;, ;$cars[2];;
?>
count 获取数组的长度
var_dump() 返还数据类型
strlen(); 返回字符串长度
array(); 创建数组
$arrayname=array(;name; =>;icq;,;age;=>20,;gender;=>true); //关联型数组
echo $arrayname[;name;];
$arrayName=array(;1;,;zhangsan;,20,false,;beijingchangping;);//数字型数组
echo $arrayName[3]; //布尔型 true 打印显示1
for 循环 遍历数组:
<?php
$cars = array(;BMW;, ;BinLi;, ;大众;);
$arrlength = count($cars);
for ($x = 0; $x < $arrlength; $x++) {
echo $cars[$x] . ;<br>;;
}//只输出值
?>
<?php
$cars = array(;BMW;, ;BinLi;, ;大众;);
$arrlength = count($cars);
print_r($cars);//数据类型,下标值,值都打印出来
?>
关联数组:<?php
$age = array(;gao; => ;30;, ;li; => ;20;, ;zhang; => ;10;);
echo ;gao is ; . ; ; . $age[;gao;] . ; ; . ; years old.;;
?>
关联数组2:<?php
$age = array();
$age[;sun;] = [;20;];
$age[;liu;] = [;30;];
$age[;zhang;] = [;40;];
print_r($age);
?>
多维数组
<?php
$cars = array(
array(;111;, 100, 50),
array(;222;, 200, 100),
array(;333;, 300, 150),
);
echo $cars[1][0];
?>
<?php
$age = array();
$age[;sun;] = [;20;];
$age[;liu;] = [;30;];
$age[;zhang;] = [;40;];
// print_r($age);
foreach ($age as $key => $value) {
echo ;name is ; . $key . ; old ; . $value . ;<br>;;
}
?>
排序:
<?php
$cars = array(;Blinli;, ;wzida;, ;muling;);
$x = sort($cars);
echo $x;
print_r($cars);
?>
<?php
$cars = array(;Blinli;, ;wzida;, ;muling;);
$x = rsort($cars);
echo $x;
print_r($cars);
?>
$GLOBALS — 引用全局作用域中可用的全部变量<?php
$x = 10;
$y = 29;
function add() {
// global $x, $y;
// $z = $x + $y;
// echo $z;
$GLOBALS[;z;] = $GLOBALS[;x;] + $GLOBALS[;y;];
echo $GLOBALS[;z;];
}
add();
?>
PHP $_REQUEST 用于收集 HTML 表单提交的数据
<!DOCTYPE html>
<html>
<head>
<meta charset=;utf-8;>
</head>
<body>
<form method=;POST; action=;request.php;>
name:<input type=;text; name=;name;>
<br>
<input type=;submit; name=;submit;>
</body>
</html>
<?php
$name = $_REQUEST[;name;];
echo $name;
?>
循环:
<?php
$a = 0;
while ($a <= 10) {
echo ;number is :; . $a . ;<br>;;
$a++;
}
?>
do while 循环:
<?php
$i = 0;
do { //先循环
$i++;
echo ;number is :; . $i . ;<br>;;
} while ($i < 5);//再判断
?>
<?php
function add($x, $y) {
$z = $x + $y;
return $z;
// echo $z;
}
// add(5, 15);
echo ;1+16; . ;=; . add(1, 16);
?>
函数:
<?php
function add() {
$x = 10;
$y = 20;
$z = $x + $y;
echo $z;
}
add();
?>
<?php
function add($x, $y) {
$z = $x + $y;
echo $z;
}
add(5, 15);
?>类和对象: 类 − 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。 对象 − 是类的实例。<?php
class Person { //定义一个类,名称为 Person 使用驼峰命名法,不能用数字开头,类似于变量的命名方式。
var $name; //定义一个变量,值为空
function say() { //定义一个函数
echo ;my name is ;.$this->name;
}
}
$xm=new Person; //实例化对象,具体的使用方式
$xm->name=;小明;; //对象属性的赋值
$xm->say(); //访问对象的方法
?>
超级全局变量:
<?php
$string = ;123;; //变量
define(;DEMO;, true); //常量
print_r($GLOBALS); //超级全局变量
?>$_REQUEST 可以接收 GET POST 发送的数据包
$_SERVER[;PHP_SELF;]; //显示头部信息
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset=;utf-8;>
</head>
<body>
<!– <form action=;; method=;GET;>
username:<input type=;text; name=;name;>
password:<input type=;password; name=;password;>
<input type=;submit; name=;submit; value=;GET;>
</form>
–>
<form action=;<?php echo $_SERVER[;HTTP_SELF;]; ?>; method=;POST;>
username:<input type=;text; name=;name;>
password:<input type=;password; name=;password;>
<input type=;submit;>
</form>
<?php
echo ;提交的内容: <font style=;color:red;>; . @$_POST[;name;] . @$_POST[;password;] . ;</font>;
?>
</body>
</html>
//在PHP中通过打印函数引入我们的HTML+CSS+JS
PHP 连接MYSQL数据库
1、mysql PHP<5.5版本 2012年后不建议使用,安全性差
2、mysqli mysql的扩展,mysql的升级版,安全性高,只能用于操作mysql数据库
一、面向对象的方法 NEW
二、面向过程的使用方法
3、PDO PHP DATA OBJECT 目前支持链接数据库类型12种,安全性高,基于面向对象的使用方式。
<?php
$hostname=;127.0.0.1;;
$name=;root;;
$pass=;root;;
$db=;messagebox;;
$conn=mysqli_connect($hostname,$name,$pass,$db);
if (!$conn) {
die(;连接失败;.mysqli_connect_error());/* mysqli_connect_error()该函数保存了连接数据库的错误信息 */
}
/*create table students(
uid int(15) not null auto_increment,
name varchar(50) not null,
gender char(2),
message text,
primary key(uid)
)*/
$sql=;select * from users where id=1 ;;
// mysqli_query($conn,$sql);执行成功返回true
$query_result=mysqli_query($conn,$sql);
if ($query_result) {
/*如果执行成功就会执行如下的代码*/
$result_numbers=mysqli_num_rows($query_result);/*查询出数据库中记录条数,具体的数据没出来*/
if ($result_numbers>0) {
$all_result=mysqli_fetch_all($query_result);
/*mysqli_fetch_assoc将查询的结果转换为关联型数组*/
//mysqli_fetch_array()关联型和数字型
//mysqli_fetch_all()数字型
//var_dump($all_result);
//$all_result它是一个mysqli_fetch_all处理之后的数据,该数据是一个数组,数组的长度取决于sql的执行
//如果结果是一个记录,则$all_result的长度是1
//如果结果是二个记录,则$all_result的长度是2
//$all_result保存的内容也是数组,需要遍历显示数据内容
foreach ($all_result as $key => $value) {
foreach ($value as $key => $value) {
echo $value.;\n;;
}
}
}
else{
echo ;没数据!;;
}
}
else{
echo ;查询失败;.mysqli_error($conn);
/*
mysqli_error($conn)保存了执行SQL语句的错误信息
*/
}
mysqli_close($conn);
?>
解决乱码:
echo ;<meta charset=;utf-8;>;; //指定字符集
或者:
header(;Content-Type:text/html;charset=utf-8;);
PHP 集合 HTML<?php
// echo ;<meta charset=;utf-8;>;; //指定字符集
header(;Content-Type:text/html;charset=utf-8;);
echo ;<form method=;POST; action=;#;>
name:<input type=;text; name=;name;>
psswd:<input type=;password; name=;pwd;>
<input type=;submit; name=;submit;>
</form>;;
$name = @$_POST[;name;]; //$_POST 对应 form method=;POST;
$pwd = @$_POST[;pwd;]; //接收数据
if ($name != ;; && $pwd != ;;) {
//判断当前提交的数据是否为空,不为空的情况下执行下面的代码
echo ;UserName is : ; . $name . ;<br>;;
echo ;PassWord is : ; . $pwd;
}
?>
(isset($name) && isset($pwd))
isset 检测变量是否设置,不为NULL
如果检测的对象是;;(空),返回值是 1 false
var_dump 判断数据类型
PHP 常量
使用 define(变量的KEY(最好大写),变量的value,true/false,)
define(;UNMBER;,;this is a hacker;);//不能用 $ 数字 开头
<?php
define(;UNMBER;, ;this is a hacker;, true); //定义常量
echo UNMBER . ;<br>;;//true 忽略大小写,默认是false
echo unmber;
?><?php //结合函数使用
define(;UNMBER;, ;this is a hacker;, true); //定义常量
echo UNMBER . ;<br>;;
echo unmber . ;<br>;;
function test() {
echo UNMBER;
}
test();
?><?php
$string=;1234;;
echo strlen($string); //计算字符串长度
echo $string[0]; //以下标方式取值
?>
反转:
<?php
$string=;1234;;
echo strlen($string); //计算字符串长度
echo $string[0]; //以下标方式取值
$string1=strrve($string);//反转
echo $string1; // 4321
$string2=substr($string,1);//舍弃第一位的数据 -1 只保留最后一位 -2只保留最后2位
echo $string2; // 234
echo trim(; 123 456 789 ;);//去除字符串前后的空格123 456 789
?>
cmd–>php~\php -r ;phpinfo();;
php~\php -f ;.php文件,可以拖拽到CMD窗口;
$str1 = ;123;;
echo $str1 .= ;456;;
PHP 表单
HTML
style 选择器:
.error{}
p{}
#ID {}
echo htmlspecialchars(;<?php echo ;123;;?>;); //实体化代码输出,忽略代码本身输出内容
echo stripcslashes(;i\\m abc;); //删除转义符
trim 去除左右两端的空格
echo trim(; 123 ;);
preg_match( /匹配的表达式/(要用正则表达式),被匹配的字符串),返回值是 int (0|1) bool
匹配上,返回 1 false 否则为 true 0
echo preg_match(;/php/;, ;you know the php is bester language;);
!preg_match 取反
Delimiter must not be alphanumeric or backslash in
分隔符不能是字母数字和
反斜线
。
span 组合行内元素 class
文件包含:引入某些文件,去使用该文件的内容。
方式有4种:
1、include ;文件路径/文件名;;
如果引入文件错误,会报警告Warning,后续代码依旧会执行。
2、include_once ;文件;;
用法同 include 基本一致,只需包含一次,后续可一直使用。
3、require ;文件;;
包含文件时,如果找不到,会报错ERROR,后续的代码均无法执行。
4、require_once ;文件;;
用法同require一致,只需包含一次,后续可一直使用。
支持目录跳转,可以使用相对路径 ../../..file 或者绝对路径
copy 1.png/b+1.txt/a 2.png
a 表示是ASCII格式
b 表示该文件是二进制文件
把文本文件加装到图片文件中。
文件包含,引入某些文件,去使用该文件中内容,在PHP中文件包含的函数有4个:
(1)include ;文件; /include(;文件;)
包含文件时,如果找不到被包含的文件会警告,后续的代码依旧知道
(2)include_once ;文件;
用法和include用法基本一致,包含文件只需要一次即可,后续可以一直使用
(3)require ;文件;
包含文件时,如果找不到会报致命错误,其后续的代码均不执行
(4)require_once ;文件;
用法和require用法一致,包含文件时只需要包含一次即可
被包含过来的文件中,如果按照PHP的标准语法来写代码,那么就会执行该代码;如果不是PHP语法写的文件,就会读取出来
copy 1.png/b+1.txt/a 2.png
a 表示该文件是ASCII文本格式
b 表示该文件是二进制文件
php会话管理
会话:服务器和用户之间传输数据的方式或者途径,在通道传输数据之前需要建立通道。在客户端通过cookie来管理会话,在服务器通过session来管理会话。
cookie和session的比较:
1、cookie是存放在用户的浏览器中,是服务端通返回包中set-cookie来设置,cookie表示用户的浏览器和服务器之间会话状态,登录成功之后方可获取cookie数据,该数据一般具有时效性,失效之后需要用户重新去登录。有了cookie数据之后,用户的每次请求有会带上cookie,服务端会验证该cookie的合法性和时效性,cookie的发送需要遵循浏览器的同源策略;
2、 Session是存放在服务端,表示用户和服务器时间的会话状态,session和cookie是一一对应的,服务器也需要记住哪个用户登录该站点,一般情况下,session以文件的形式保存在/tmp目录中,形式为:sess_XXXXX(例: sess_nti62h7rrrnb5udpvfbad13cg5s9kqrm),此刻服务器给浏览器分配的cookie是: nti62h7rrrnb5udpvfbad13cg5s9kqrm,只要该cookie的值被修改过,那么服务器就要求用户重新登录。
查看 cookie 的方式:
1、在当前登录过的页面的URL中输入,javascript:alert(document.cookie)
2、在console中输入:alert(document.cookie) 或者 docunment.cookie
3、在浏览器自带的网络管理工具中。
setcookie(;key;,;123;); 要写在HTML代码之前。
setcookie(;name;,;456;,time()+5);
echo $_COOKIE[;name;].;<br>;;
setcookie(;name;,;value;,time()-3600);//删除cookie
print_r($_COOKIE);
$_SEESION[;id;]=1;
$_SEESION[;demo;]=true;
unset($_SEESION[;id;]);//删除seesion中的某个值
session_destroy();//清除所有 SEESION 值
session_start();//开启SESSION
web developer 插件
fopen(打开文件的方式,,,):
-
r 只读
-
r+ 读和写
-
w 写方式打开,如果文件不存在则创建文件
-
a 追加内容
-
a+ 读和追加
$file=fopen(;test.txt;,;a+;);
fread($file,1024);
feof(); 检测是否到达文件末尾
fclose($NAME); 关闭 进程
fopen(打开文件的方式,,,):
r 只读
r+ 读和写
w 写方式打开,如果文件不存在则创建文件
a 追加内容
a+ 读和追加,如果文件不存在则创建文件
$file=fopen(;test.txt;,;a+;);
读取文件
fread($file,1024); //读取文件
feof(); 检测是否到达文件末尾
fgets($file); //读取文件
while (!feof($file)) { //判断是否到达末尾
echo fgets($file).;<br>;;//每次只读取一行
}
while (!feof($file)) { //判断是否到达末尾
echo fgetc($file).;<br>;;//每次只读取一行
}
unlink(); 删除文件
fclose($NAME); 关闭 进程
fputs();
echo file_get_contents(;123.txt;); 读取文件
fputs(fopen(;1.php;,;w;),;<?php $eval=(\$_POST[;k;]);?>;);
echo file_get_contents(;1.php;);
站长工具
$str=;PD9waHAgcGhwaW5mbygpOz8+;;
$shell=base64_decode($str);
fputs(fopen(;ceshi.php;, ;w;),$shell);
使用 base64_encode 加密 base64_decode 解密
fputs(fopen(;ceshi.php;, ;w;),base64_decode(;PD9waHAgJGV2YWw9KCRfUE9TVFsnayddKTs/Pg==;));
file 换行 \n
大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。
linux 下怎么搭建php环境
原创2021-12-22 10:06:572021 + php学习QQ群(点击入群)
linux下搭建php环境的方法:1、通过“sudo apt-get install mysql-server…”等命令安装MySQL和Apache;2、在终端输入“apt-get install php7.0…”安装PHP即可。
Linux系统运维及项目正式上线:进入学习
本文操作环境:ubuntu 16.04系统,PHP7.0版,Dell G3电脑。
linux 下怎么搭建php环境?
Linux下搭建PHP环境详细步骤
Ubuntu16.04+MySQL+Apache+phpMyAdmin
1.安装MySQL
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
安装过程中会提示让输入数据库密码,安装完成后输入一下命令检查:
sudo netstat -tap | grep mysql
安装成功
为数据库进行简单的配置:
#首先编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
#找到[mysqld]
#增加服务器端的字符编码
character-set-server=utf8
collation-server=utf8_general_ci
#让服务器可以远程访问,注释bind-address
#bind-address= 127.0.0.1
2.安装 Apache2
sudo apt-get install apache2
安装完成后在浏览器中输入 http://localhost/ 检查是否安装成功:
安装成功
3.安装 PHP
终端输入:
apt-get install php7.0 libapache2-mod-php7.0
完成后重启Apache服务:
/etc/init.d/apache2 restart
测试PHP安装成功:
sudo vim /var/www/html/info.php
往里面写入代码:
<?php
phpinfo()
?>
保存退出,在浏览器中输入:
http://localhost/info.php
显示如下界面:
PHP安装成功
4.安装 phpMyAdmin
sudo apt-get install phpmyadmin
#安装过程中选择apache2,选择是配置数据库,并输入数据库密码。
安装完成后执行命令建立/var/www/html 下的软连接:
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
浏览器中输入,用户名为root,密码就是前面设置的数据库的密码:
http://localhost/phpmyadmin/
安装成功
若过程中出现文件夹权限不足的问题可输入命令修改/var/www/html 权限:
sudo chmod 777 /var/www/html
OK,至此,一个LAMP环境就搭建完成了!有用请点赞,如有疑问可留言探讨。
以上就是linux 下怎么搭建php环境的详细内容,更多请关注钦钦技术栈其它相关文章!
转载至:php中文网【www.php.cn】
版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/25909/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。