介绍性的范例
<html>
<head>
<title>Example</title>
</head>
<body>
<?php
echo "Hi, I'm a PHP script!";
?>
</body>
</html>
php使用范围,主要用于以下三个领域:
apt install apache2
apt install mysql-server mysql-client
apt install php7.0
http://127.0.0.1/
,展示apache相关信息则正常
vim /etc/apache2/ports.conf
listen 80
为listen 8000
或其他端口,然后再访问http://127.0.0.1:8000
/var/www/html
下的index.html文件被修改了,但是不影响使用/var/www/html
是apache2默认的项目解析路径通过修改/etc/apache2/apache2.conf
中的
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
/etc/apache2/sites-available/000-default.conf
中的DocumentRoot /var/www/html
/var/www
或/var/www/html
均修改成自定义的路径,就可以使apache2解析自定义路径下的文件执行如下命令
cd /var/www/html
vim hello.php
编写以下php脚本
<?php
phpinfo()
?>
http://127.0.0.1/hello.php
,展示PHP版本及相关信息则正常apt install libapache2-mod-php
ls /usr/lib/apache2/modules | grep libphp
php -m
查看是否有mysql或者mysqlli
apt install php-mysql
php php文件
执行php文件,操作文件的用户是rootwww-data:www-data
cat /etc/apache2/envvars
查看chown -R test:test test/
更改test文件夹及其子文件、文件夹的所属用户为test,所属用户组为test$
符号开头,其后是变量的名称A-z
、0-9
以及 _
)$y
与 $Y
是两个不同的变量)php是弱类型语言,不需要定义时申明类型
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>
函数内部申明的变量拥有局部作用域,只能在函数内部访问
<?php
$x=5; // 全局作用域
function myTest() {
$y=10; // 局部作用域
echo "<p>测试函数内部的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
}
myTest();
echo "<p>测试函数之外的变量:</p>";
echo "变量 x 是:$x";
echo "<br>";
echo "变量 y 是:$y";
?>
在函数内部使用static关键字申明的变量拥有静态作用域,不会随着函数的结束被回收
<?php
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
echo
if
elseif
else
for
foreach
function
return
yield
class
extension
new
private
public
abstract
aquire
include
include_once
isset
unset
array
exit
final
static
const
global
$_GET
?
后面的请求条件$_POST
$_FILES
$_REQUEST
$_SESSION
$_COOKIE
$_SERVER
$_SERVER["REQUEST_URI"]
$_SERVER['REQUEST_METHOD']
$GLOBALS
$argv
+ - * / %
,加、减、乘、除、取余该字符串的开始部分决定了它的值。如果该字符串以合法的数值开始,则使用该数值。否则其值为 0(零)。合法数值由可选的正负号,后面跟着一个或多个数字(可能有小数点),再跟着可选的指数部分。指数部分由 ‘e’ 或 ‘E’ 后面跟着一个或多个数字构成。
<?php
$foo = 1 + "10.5"; // $foo is float (11.5)
$foo = 1 + "-1.3e3"; // $foo is float (-1299)
$foo = 1 + "bob-1.3e3"; // $foo is integer (1)
$foo = 1 + "bob3"; // $foo is integer (1)
$foo = 1 + "10 Small Pigs"; // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
$foo = "10.0 pigs " + 1; // $foo is float (11)
$foo = "10.0 pigs " + 1.0; // $foo is float (11)
?>
$a = 1
$b = $a
$a = 3;
$a += 5; // sets $a to 8, as if we had said: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!";
$c = &$a
phpinfo ($what = null)
error_log ($message, $message_type = null, $destination = null, $extra_headers = null)
$message
写入php.ini中指定的日志文件var_export ($expression, $return = null)
$return
为空直接echo,$return
为true返回字符串var_dump ($expression, $_ = null)
print_r ($expression, $return = null)
func_num_args()
func_get_arg ($arg_num)
$arg_num
的参数的值str_replace ($search, $replace, $subject, &$count = null)
explode ($delimiter, $string, $limit = null)
$string
根据$delimiter
切割成数组,类似python的字符串函数split$object
所属类的类名implode ($glue = "", array $pieces)
$pieces
内的元素以$glue
拼接起来