php是世界上最好的语言。这只是一句玩笑话,因为说其他语言不好笑。他是屌丝的,无后台,没被包养的。请勿对号入座。
不同的编程语言适合不同的场景。php只有在特定的场景才实用,比如后台管理系统,网站论坛等。
部署简单
很多其他行业的公司,希望有一个网站,他们并没有多少预算在网站上,可能只是随便买了一个虚拟主机,这时恐怕最好的选择就是 PHP 了。支持 Ruby, Python 之类的语言的虚拟主机很
少,ASP 需要 Windows 的服务器,只有 PHP 可以运行在任何一家虚拟主机上。
学习门槛低
一开始 PHP 是专为 Web 设计的语言(虽然现在已经在向通用编程语言靠拢了), 学习和使用门槛很低,建一个 .php 文件就是网页,用 $_GET['XXOO'] 就可以获取到 GET 参数。而其他通用编程语言,原生并不支持这些与 HTTP 协议相关的功能,这时就需要选择并学习一款 HTTP 框架才能编写 Web 应用,例如 Tornado(Python), Ruby on Rails 等。
语法简单
PHP 一开始是弱类型的(现在只是不那么弱了而已,还算不上强类型),几乎不需要考虑类型转换的事情,甚至在一开始很长的一段时间里,都没有支持面向对象。PHP 可以非常简单地从数据库中存取数据,而一半的网站也无非是从数据库中读写数据。
因为 PHP 是以 CGI 或 FastCGI 的形式运行的,因此也不必考虑内存管理的问题,反正每次请求后,内存都会被释放。
PHP 的错误处理机制也很简单——如果出错就在页面上打印错误信息。想要关闭错误提示也同样简单。
很多重量级的开源项目
如 WordPress(博客), Typecho(博客), Drupal(CMS), MediaWiki(WIKI), DiscuzX(论坛) 等等,可以说想要不折腾地部署一个网站 PHP 就是最佳选择。
经过了历史考验
PHP 毕竟也算是老牌 Web 编程语言了,能踩的坑已经被前辈踩过了,大量的库可以重用,要招会 PHP 的开发人员也很容易,而 Node.js, Golang 等等新语言则会遇到技术储备,人才储备方面的问题。而 Python, Ruby 也不要高兴得太早——虽然你们很早就被发明出来了,但那时候还没多少人搞 Web 开发.
一:
本地环境搭建,我选择winNMP套件环境:
下载:https://sourceforge.net/projects/wtnmp/
其他环境查看:https://www.php.cn/toutiao-362311.html
1.1 查看本地web环境:打开 http://localhost/ 是否有服务?
我的是IIS服务,所以先停止IIS: 1)我的电脑 >右键 >控制面板主页>管理工具>服务>找到“World Wide Web Publishing Service”/"World Wide Web发布服务",点击“停止”
2)这样如果重启机器,“World Wide Web Publishing Service”也会跟着启动的,
所以还需要修改下启动类型,下拉启动类型按钮,选择“禁止”
1.2 安装winNMP时,会提示选择安装软件,按需选择,选择多的话安装的时间相应的长,有些是可选的,比如php的版本。有些不可选。
下面是nginx的一些基本操作指令,当然你也可以直接双击nginx.exe文件来启动服务器
start nginx //启动服务
nginx -s stop // 停止nginx
nginx -s reload // 重新加载配置文件
nginx -s quit // 退出nginx
二:发布网站
查看nginx是否正常: http://localhost/
在主页面,添加Project:
Live/Production Url 填写访问路径,带端口
Public Sub-Folder 填写项目路径
报错:
no input file specified.
由于php的安全机制,需要注释掉nginx配置中的fastcgi-xxx。(https://www.jb51.net/article/157666.htm)
端口有冲突,停掉进程:查,停二步:
netstat -aon|findstr "80"
tasklist|findstr "2448"
PS:
1.PHP的nts和ts(https://www.cnblogs.com/zwesy/p/9379025.html)
nts是线程不安全的,ts是线程安全的(默认)
2.服务器的环境用宝塔管理的,安装php多版本不影响,用的是php7.0,卸载后不可用,那个文件没有更改。后来再研究。
参考:https://www.cnblogs.com/Li-Cheng/p/4399149.html
3.
3.1 下载ngix 启动 exe文件
redis 启动命令: redis-server.exe redis.windows.conf
ps: 如果11920] 15 May 11:54:11.957 # Creating Server TCP listening socket 127.0.0.1:6379: bind: No error 要先停掉服务。
redis-cli.exe
auth 【登录密码】gqtest
shutdown
exit
再次启动就好了。
MariaDB,启动不了,报错,整了好一会,也没辙,看日志,排错,端口都排查了,重装到D盘,安装一切ok,启动。。。。
有疑问加站长微信联系(非本文作者)