安卓怎么运行PHP文件_装Termux搭环境执行脚本详解【详解】

1次阅读

安卓无法直接运行php文件,需通过Termux安装PHP CLI并手动补充json/curl/mbstring等扩展,仅支持命令行脚本执行,不支持Web环境相关功能及外部存储直读。

安卓怎么运行PHP文件_装Termux搭环境执行脚本详解【详解】

安卓不能直接运行 .php 文件——没有 PHP 解释器,也没有 Web 服务器环境。所谓“在安卓跑 PHP”,本质是通过 Termux 安装 PHP CLI(命令行接口),把 PHP 当作脚本解释器用,不涉及 apache/nginx浏览器访问。

Termux 装 PHP 后只能执行 CLI 模式脚本

Termux 中的 php 是纯命令行版本,不带 $_SERVER$_GET 等 Web 相关超全局变量,也不能通过浏览器访问 http://localhost:8000 这类地址。

  • 能跑:php script.phpphp -r "echo 'hello';"
  • 不能跑:$_POST 表单提交、$_cookieheader() 重定向、require_once 'vendor/autoload.php'(除非手动装 composer
  • 想模拟 Web 环境?得额外起内置服务器:php -S localhost:8000,但路由和静态资源支持极弱,仅适合最简 demo

Termux 安装 PHP 的关键步骤和坑

Termux 默认源不稳定,PHP 版本老旧(常为 8.1 或更低),且 pkg install php 不会自动装扩展(如 jsoncurlmbstring),很多脚本一跑就报 Call to undefined function json_encode()

  • 先更新源:pkg update && pkg upgrade
  • 装 PHP 主体:pkg install php
  • 手动补常用扩展:pkg install php-json php-curl php-mbstring php-xml php-sqlite
  • 验证是否生效:php -m | grep -E "(json|curl|mbstring)" —— 没输出说明没装上或没启用
  • 注意:Termux 的 php.ini$PREFIX/etc/php.ini,改完要重启 Termux 或重新加载终端

PHP 脚本在 Termux 下的路径和权限问题

Termux 的文件系统沙盒严格,不能随意读写外部存储(如 /sdcard),默认工作目录是 $HOME(即 ~/),所有脚本必须放在这里或子目录,否则会提示 Permission deniedNo such file or Directory

立即学习PHP免费学习笔记(深入)”;

  • 正确做法:cd ~ && nano test.php → 写好后 php test.php
  • 如果脚本里用了 file_get_contents('/sdcard/file.txt'),需先执行:termux-setup-storage,再通过 ~/storage/shared/ 访问,例如:file_get_contents('~/storage/shared/file.txt')
  • 不要用 windows 风格路径(C:xxx)或绝对路径 /data/data/com.termux/... —— Termux 自己的路径前缀是 $PREFIX,用户路径是 $HOME

真正麻烦的不是装 PHP,而是脚本依赖——比如用 composer require monolog/monolog,Termux 的 Composer 支持有限,很多包因缺少 pcntlposix 扩展直接失败;更现实的做法是:只写轻量逻辑(文本处理、API 调用、本地数据解析),别指望它替代开发机。

text=ZqhQzanResources