也许以后工作中会接触 PHP, 趁现在有空,捣腾一下。第一次接触 PHP, 有了之前 Java / Python / Scala 跳坑的经历,这次没那么慌。尝试着在 PhpStorm 中建立一个简单的 Demo, 然后将其部署到 WAMP 的本地服务器上。

PHP 是什么

PHP 是世界上最好的语言!

不要小看这句话的威力,把它投放到合适的场合,足够挑起一场圣战,摧毁一帮程序员之间坚实的友(ji)谊(qing)!这不是演习,非战斗人员请迅速撤离。

好了,言归正传。

PHP (“PHP: Hypertext Preprocessor”, 超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML 中,尤其适合 Web 开发。

这是 PHP 官网对 PHP 的简介,言简意赅。作为一种运行在服务端的动态脚本语言,PHP 最广泛的用途是作为服务端脚本语言,用于构建 Web 应用。

准备工作

既然要构建 Web 应用,自然少不了几个关键元素:服务器,数据库再加上 PHP 解析引擎。这几个元素可以独立配置,针对不同平台,PHP 也有相应的环境整合工具,例如 LAMP, WAMP 和 XAMPP 等,这些都是免费的。

为了便于以后的学习,本文使用 WAMP 进行测试,其实单独安装和配置这几个组件也不难。

WAMP 安装

WAMP 的安装很简单,基本一路无脑 Next 就行。

  1. 官网下载 WAMP;
  2. 安装,一路 Next 即可

  3. 启动 WAMP, 任务栏出现绿色的 logo, 表示 WAMP 启动成功

    WAMP 启动成功

    如果没有启动成功,可以考虑这几个因素:

    1. 端口占用,在 Windows 平台,我就遇到 80 端口被 IIS 占用的情况,所以我把 Apache 服务器的端口改成了 8888;
    2. 数据库冲突,因为之前已经单独安装了 MySQL 数据库,可能也会造成端口冲突,或者环境变量覆盖,造成 MySQL 服务无法正常启动。对于端口冲突,修改端口可以解决;对于后者,可能只能在 WAMP 带的 MySQL 和原有的 MySQL 二选一了,推荐将单独配置的数据迁移到 WAMP 带的 MySQL 中。
  4. 打开浏览器,输入 http://localhost:8888/phpmyadmin/, 你会看到类似的页面

    phpmyadmin

  5. 关于 WAMP 的后续配置,在实际项目中根据需要可以进行定制。

IDE 选择

习惯了用 Sublime Text 写 Python, 切换到 IDE 会有点不习惯,好在 JetBrains 出了 IDEA 和 PyCharm 这两个良心之作,果断入手 PhpStorm. 仍然可以使用学生账号免费使用教育版,到期可续。

部署与测试

一图胜千言,直接看图。

  1. 新建项目

    新建项目

  2. 编辑运行配置

    Edit Configurations ...

    点击绿色的 + 号,选择 PHP Web Application

    新建 Server, 配置名称,地址,端口

    应用配置,设置名称,访问起始路径

  3. 部署配置

    Tools -> Deployment -> Configuration ...

    Type: Local or mounted folder; Folder: WAMP 的 www 目录;服务器根路径:http://localhost:8888/

    映射配置

    Tools -> Deployment -> Automatic Upload, 配置自动上传到服务器,实现修改后自动部署

  4. 再到 Tools -> Deployment -> Upload to My Server 将项目上传到服务器;

  5. 访问测试,打开 http://localhost:8888/firstphp/

    测试页面

  6. Done!

跳坑 & 填坑

WAMP 安装过程中,似乎并没有给 MySQL 数据库设置密码这一选项,所以在测试的时候,会遇到 #1045 - Access denied for user 'root'@'localhost' (using password: YES) 这个迷一般的错误提示,这时候有两种解决方式:

  • 打开 cmd, 输入命令

    1
    mysql -u root -p
这时候会提示你输入密码,然而此时并没有密码,直接回车即可进入 MySQL 数据库,然后更新密码

1
UPDATE mysql.user SET password=PASSWORD('pass') WHERE user='root';
  • 启动 WAMP 后,在进入 http://localhost:8888/phpmyadmin/ 时,会要求输入用户名和密码,用户名 root, 密码空着,回车,进入管理界面,然后在管理界面修改密码

接着修改配置文件 config.inc.php, 在 C:\wamp64\apps\phpmyadmin4.6.4, 修改如下

1
$cfg['Servers'][$i]['password'] = 'pass'

重启 WAMP 即可。

后记

简单感受了一下语法,看了一些项目。感觉拍黄片,哦不,PHP, 还是蛮有意思的。算是开了一个坑吧,想想做点有趣的事来填填这个坑 (ง •_•)ง

顺便测试一下在博客中插入音乐播放插件,来一首 Devil's Tears

参考资料

  1. PHP 是什么?
  2. #1045 - Access denied for user ‘root’@’localhost’ (using password: YES)