我与数据库通信的概念有冲突。
如果我有一个网站,我不能直接访问MySQL,我需要一个网络服务器来与MySQL通信,PHP将使用超文本标记语言与网站通信,对吗?Apache的角色是什么?如果我们有这些工具,为什么我们还需要WampServer呢?我们可以创建自己的服务器,让软件在上面运行。
我正在为我的大学做一个高级项目,但由于缺乏对这些概念的理解,我不知道我想使用什么工具。
发布于 2016-04-01 06:12:08
PHP不是web服务器,它只是一种运行在web服务器之上的语言。Apache是web服务器。PHP运行在Apache之上。使用诸如WampSever/XAMP/LAMP等工具的原因就是将这些软件捆绑在一起。安装PHP、Apache、MySQL等,并配置它们协同工作可能需要一段时间。WAMP/XAMP/LAMP使快速部署这些软件包变得更容易。
发布于 2016-04-01 06:15:12
Apache是一种web服务器,它通过HTTP协议接收请求,并使用文件内容或脚本结果进行响应。
PHP是一种服务器端脚本语言(在此上下文中)。当Apache接收到对这种类型文件的请求时,它将使用将其作为程序运行的输出进行响应。
PHP可以与诸如MySQL之类的数据库交互,以存储和检索数据。
WampServer是所有这些的预打包集合,可以帮助您快速启动和运行开发环境。
发布于 2016-04-01 11:43:04
(这是对@marwan的评论的回应,“我的项目是android应用程序,包含一个大型数据库,所以如果我想使用服务器,我需要使用php吗?而且php只用于网站,所以我可以为android应用程序使用什么?”,但字符用完了)
@Marwan你可以直接将你的android应用连接到一个数据库,尽管不推荐这样做,Why don't connect android to database directly?,有很多原因不这样做,安全是一个主要的原因。Php用于web服务,这些web服务可能会也可能不会显示为人类可读的网页。许多web服务用于创建输出,这些输出将被其他程序使用。android应用程序将使用其中一项服务,如RESTful api (http://www.drdobbs.com/web-development/restful-web-services-a-tutorial/240169069),从客户端(android应用程序)检索数据或数据库,或将处理从客户端(android应用程序)卸载到服务器。
除了php和apache之外,还有更多的语言和服务器可以使用,但这是一个非常常见的设置(我个人最喜欢的)。
如果你想了解apache和php,我建议在WAMP服务器上安装一个LAMP服务器,该软件是开源的,因此是一个很好的学习工具(https://www.atlantic.net/blog/why-startups-prefer-lamp-to-wamp/)。如果你没有linux机器,你可以在VM,https://www.virtualbox.org/,https://www.vmware.com/products/player,甚至rasberry pi https://www.element14.com/community/community/raspberry-pi/raspberrypi_projects/blog/2014/02/24/raspberry-pi-as-a-lamp-server/上运行LAMP堆栈。在linux (https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-14-04,unbuntu14.04)上安装LAMP堆栈有很多方法。
Php有很好的文档记录,有很多教程,还有很多问答等等。http://php.net/manual/en/index.php
http://php.net/manual/en/tutorial.php
http://www.w3schools.com/php/
https://stackoverflow.com/questions/36344704
复制相似问题