php如何运行脚本文件

嘿,让我告诉你我在 PHP 工作时的情况。

在PHP中运行脚本时,我当时使用了两种方法。
现在你给我解释清楚了。

第一种,也是最简单的,是直接从命令行运行。
我记得在 Windows 上,我仍然需要输入 cmd 或 PowerShell。
然后,我切换到 macOS,只使用终端。
无论如何,首先导航到脚本并使用 cd 命令。
例如,如果我在 D:\www\test.php 中有一个脚本,我需要先 cd D:\www 。
然后输入php test.php,就这么简单。
如果不设置环境变量,则必须写完整路径,如C:\php\php test.php。
运行后,回显或打印将直接显示在屏幕上。
这个技巧非常适合当时调试小脚本。

第二,通过Web服务器运行。
这是我比较常用的。
我记得有一年,当我在 Apache 工作时,我必须安装 php-fpm。
将脚本放置在 Apache 的默认目录中,通常是 /var/www//。
我有一个名为index.php的脚本,我需要先将其上传到该目录。
然后你在浏览器中输入http://localhost/index.php,服务器会自动为你解析PHP代码,并将结果显示在网页上。
当我为客户构建网站时,这项技术非常有用。

我当时遇到的问题之一是文件权限。
有一次我上传了一个新脚本,但网络服务器根本无法运行。
检查了半天,发现必须更改权限,使用chmod文件名6 4 4 .php。
其他时候,脚本在命令行上运行良好,但一旦连接到 Web 服务器就会出现错误。
检查日志后发现是语法问题。
这两件事提醒我,在使用 PHP 时,需要注意文件权限和读取错误日志。

我还使用了你提到的调试输出。
当时我有一个脚本总是出问题,所以我添加了error_log()来将错误信息记录在日志中,这样更容易检查。

哦,顺便说一句,我还有一件事需要提醒你。
命令行环境和 Web 服务器是不同的。
例如,$_SERVER 超全局数组在命令行上可能为空。
我当时就因为这事惹上了麻烦。
该脚本在命令行上运行良好,但一旦连接到 Web 服务器就出现问题。
然后发现$_SERVER没有数据,只好手动设置。

如果参与开发,建议先在命令行运行,这样调试方便。
等到没有问题后,再上传到服务器。
这就是我在做项目时所做的事情。

通过localhost运行PHP文件教程

老实说,我有一段时间一直在努力运行 PHP 文件进行本地调试。
不同的系统有一定的差异,但核心思想是相似的。
我给大家讲一下我自己的经历,可能有点偏差,大家可以参考一下。

我最熟悉的Linux是Ubuntu,终端操作已经成为肌肉记忆。
记得有一次,我在半夜做一个项目,突然发现Apache宕机了。
一边吃面包一边查日志,最后发现是PHP版本冲突导致的。
所以安装时一定不要握手,尤其是使用 sudo apt install php libapache2 -mod-php php-mysql ,哪怕少一条命令也能工作。
安装完成后,记得 sudo systemctl restart apache2 并检查服务状态 sudo systemctl apache2 status。
只有当一切都是绿色的时候,你才会感到平静。

用Homebrew安装macOS很简单,但最麻烦的就是环境变量的调整。
我以前遇到过 mana php 错误。
检查后发现PATH没有添加正确,于是花了半个小时删除了。
后来习惯了用php的brew start服务直接启动,感觉比较简单。

在Windows上安装XAMPP对我来说是一个障碍,主要是因为中文界面有时会产生乱码。
我记得有一次,当我将一个文件复制到 htdocs 目录时,结果是 Apache 出现 4 04 错误。
直到那时我才意识到我把文件放在了错误的位置,必须在 htdocs 中创建一个新文件夹。
启动XAMPP控制面板,在Apache和MySQL两个红圈处直接点击启动,感觉就像是释放游戏任务一样。

说到它是如何工作的,我绝对建议首先尝试 PHP 的内置服务器。
在开发过程中,命令行 php -S localhost:8 000 非常棒。
更改代码后刷新浏览器即可。
以前写API接口,每次都要重启Apache,感觉……啧啧。
然而,有一个致命的缺陷。
它不应该在生产环境中使用。
安全防护只是一个装饰品。
CSRF 攻击可以消灭你。
我记得有一次我在测试登录界面时,我写的脚本疯狂地POST,几乎毁掉了数据库。

Apache虽然上手有点麻烦,但是配置很灵活。
之前我有一个项目需要一个数据库。
我刚刚将 php_value mysql.default_host localhost 添加到 Apache 配置中,然后就完成了。
另外,文档根目录可以随意更改,不像内置服务器默认端口为8 000。
但是,我在调整Apache日志时也遇到了麻烦。
有一次网站打不开,我盯着/var/log/apache2 /error.log看了两个小时。
最后发现是权限问题,PHP进程没有读取文件的权限。

在Windows下使用XAMPP时,我通常将PHP文件直接转储到htdocs下。
一个小提示,如果你使用MySQL XAMPP,记得在启动Apache之前手动启动MySQL服务,否则连接会失败。
另外一个烦人的事情是Windows上的Apache默认禁用了allow_url_include,所以include函数有时会报错,需要在php.ini中改回来。

排查问题时我最担心的是端口冲突。
我记得那个当我的同事安装了另一个 Web 服务器时,但是 Apache 和该服务正在竞争端口 8 0,并且浏览器被卡住了。
我使用 netstat -ano | findstr 8 0查看进程,最后发现是系统自带的IIS导致的问题,于是直接关掉了就没事了。
还有一个文件路径。
切勿对绝对路径进行硬编码。
我以前经历过这种损失。
服务器移动后,文件无法打开。
我通过使用 __DIR__ 解决了这个问题。
改为“/file.txt”。

就安全性而言,内置服务器只是一个摆设。
我有一个朋友正在写测试环境,但是隔壁办公室的一个朋友用浏览器直接改配置文件,几乎失去了所有服务器权限。
因此,在测试敏感数据时,切勿使用内置服务器,而应将其替换为Apache或Nginx,设置一些防火墙规则并关闭SSL证书。

总的来说,使用内置服务器进行开发固然很好,但如果你真的想上线,还是需要改用Apache或Nginx。
我目前的流程是使用内置服务器进行开发,使用XAMPP进行测试,直接将官方环境上传到云服务器,并配置FPM和反向代理。
每一步都要小心翼翼,不然出现问题的时候你就哭不出来了。

php文件怎么打开运行 php文件运行的正确方法和步骤