世界上最好的网站后端语言 php
环境准备工作
打开我们的centos 7虚拟机,确保nginx已经安装好并启动了服务(在前面的教程里有安装和启动方法)。下面我们来安装php-fpm(php和nginx之间的一个桥梁),执行:
[root@centos7vm ~]# yum install php55w-fpm
执行
[root@centos7vm ~]# service php-fpm start
启动php-fpm服务
修改nginx配置来让nginx把php代码转发给php-fpm服务解析,修改文件/etc/nginx/nginx.conf里的server组后如下:
location ~ \.php$ {
root /usr/share/nginx/php/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
执行
[root@centos7vm ~]# service nginx reload
重新加载配置文件
顺便我们看一眼这个配置文件的其他部分来做一些解释:
error_log /var/log/nginx/error.log
……
access_log /var/log/nginx/access.log main;
这些表示http访问日志的存放的地方
include /etc/nginx/conf.d/*.conf;
这一句表示你可以在conf.d目录下创建更多的网站配置文件(虚拟主机),nginx会自动加载进来
listen 80;表示监听http默认的80端口
root /usr/share/nginx/html表示你所有网页文件存放的地方,nginx只会解析你放在这里的网页
location /.....表示当你访问https://www.lcsays.com/时服务器要怎样处理
location /path.....表示当你访问https://www.lcsays.com/path时服务器要怎样处理
location ~ \.php$ {
root /usr/share/nginx/php/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
这几行表示当你访问https://www.lcsays.com/*.php时,服务器会把对应找到的php文件转发给本机的9000端口(就是php-fpm监听的端口)来解析,并把解析好的内容发回给你
OK,大功告成,现在可以开始php之旅了
一句代码看清楚一切
在/usr/share/nginx/php/目录下创建一个php文件:index.php,内容如下:
<?php
phpinfo()
?>
这时打开浏览器访问127.0.0.1/index.php结果如何?
展示了php的信息
事实上这都是phpinfo这一句代码在起作用
ps:通过我本机的浏览器看虚拟机的网站为什么访问不了?
因为默认情况下centos 7会开启防火墙,导致外部ip无法访问,关闭防火墙方法如下:
[root@centos7vm php]# systemctl stop firewalld.service
[root@centos7vm php]# systemctl disable firewalld.service
假设你虚拟机ip地址是172.16.142.130那么在你主机浏览器里访问http://172.16.142.130就可以啦
看到这我还是不会写php啊!!
下面让我们来看看php的语法有多么的简单,一分钟你就学会了。我们来用php开发这样一个网页,网页显示一组倒数的数字,如果是偶数就把样式做成h1标题,如果是奇数就做成h3,如下:
<?php
$i=10;
for ($i=10; $i > 0; $i=$i-1)
{
if ($i % 2 == 0)
{
echo "<h1>" . $i . "<h1>";
}
else
{
echo "<h3>" . $i . "<h3>";
}
}
?>
整个效果是这样子的
现在是不是明白了php的工作原理了呢?php其实就是按照普通编程语言的逻辑来动态输出html标签,让他看起来像个静态html文件
php支持函数、类吗?
支持的,php函数像这样:
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // 调用函数
?>
php的类像这样:
class test
{
var $b;
function test() { $this->b=5; }
function addab($c) { return $this->b+$c; }
}
$a = new test(); echo $a->addab(4); // 返回 9
有关php语言的更高级功能可以系统学习php教程,但个人觉得以上内容就足够了,遇到不会的直接百度