千家信息网

php命令行下执行PHP脚本文件的相对路径的问怎么解决

发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章主要讲解了"php命令行下执行PHP脚本文件的相对路径的问怎么解决",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"php命令行下执行PHP脚本文
千家信息网最后更新 2025年11月14日php命令行下执行PHP脚本文件的相对路径的问怎么解决

这篇文章主要讲解了"php命令行下执行PHP脚本文件的相对路径的问怎么解决",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"php命令行下执行PHP脚本文件的相对路径的问怎么解决"吧!

在php命令行下执行.php文件时,执行环境的工作目录(getcwd( ))是php命令程序(php.exe)所在目录,所以如果想在文件内使用相对路径时,要先切换当前的工作目录才行。

小测试程序:

复制代码 代码如下:


$oldpath = getcwd(); // 原始工作目录 php.exe所在目录
$path = dirname(__FILE__);
chdir($path); // 切换工作目录为当前文件所在目录
$fpath = "forum/readme.txt";

$fp = fopen($fpath, "a+b"); // 如果不切换工作目录这里会报找不到文件的错误
fwrite($fp, "oldpath:".$oldpath."-newpath:".getcwd());
fclose($fp);
?>


需要用crotab定时执行的程序也会有这下问题。可以参考下面这篇文章:

使用php脚本写了一个脚本,需要在crontab中定期运行,但是出现如下错误

代码如下:

复制代码 代码如下:


/var/www/html/bt/e/BtSys:.:/usr/share/pear:/usr/share/phpPHP Warning: require(../class/connect.php): failed to open stream: No such file or directory in /var/www/html/bt/e/BtSys/torrents-scrape.php on line 17
PHP Fatal error: require(): Failed opening required '../class/connect.php' (include_path='/var/www/html/bt/e/BtSys:.:/usr/share/pear:/usr/share/php') in /var/www/html/bt/e/BtSys/torrents-scrape.php on line 17


尝试解决方法1 加入如下代码

复制代码 代码如下:


// setting include path
$cur_dir=getcwd();
$cur_dir=$basedir = dirname(__FILE__);
$path = ini_get('include_path');
ini_set("include_path", "$cur_dir:$path");
$path = ini_get('include_path');
//echo $path;
require(../class/a.php)
require(../class/b.php)
...............

运行失败

尝试解决方法2 加入如下代码

复制代码代码如下:

复制代码 代码如下:

$cur_dir = dirname(__FILE__);
chdir($cur_dir);
require(../class/a.php)
require(../class/b.php)

运行成功

总结: 在require 时,如果是相对目录,在crontab 中运行php脚本,要进入到脚本所在目录才可以

感谢各位的阅读,以上就是"php命令行下执行PHP脚本文件的相对路径的问怎么解决"的内容了,经过本文的学习后,相信大家对php命令行下执行PHP脚本文件的相对路径的问怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

代码 目录 文件 脚本 命令 路径 工作 所在 运行 程序 切换 学习 内容 方法 篇文章 错误 问题 尝试 原始 成功 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发好难开发出来啊 什么是5G网络技术信息 sde空间数据库连接 无锡fil服务器介绍 APP网络安全板书设计 怎样快速隐藏表格数据库 如何正确使用网络安全教育 大家称赞的耐盐碱植物数据库 青少年网络安全短视频 深圳因网络安全法被罚企业 服务器租用怎么使用 为什么快手发私信显示服务器繁忙 开发oracle数据库 互联网大会的科技 国家网络安全审查什么 阿里云服务器运行环境 连接数据库显示404了该怎么办 云服务器批量管理哪个好用 不良网络安全的危害调查问卷 将爬取的数据存储到数据库的语句 数据库自动编号系统 人事档案检索数据库 一梦江湖服务器和区的区别 基于数据库的电商平台总结 sql 删除 数据库 网络安全 关端口3380 服务器不连网怎么连接笔记本 结构化软件开发方法题目 广州教育系统开发软件开发 软件开发的现状与发展趋势
0