file_get_contents()解决方案
程序员文章站
2022-04-07 23:13:12
...
file_get_contents()
这是index.php
然后test.php中就一句话:this is a test
这两个文件位于同一级目录,我在浏览器中运行时,'this is a test'这句话会被正常打出来,而用命令行运行时却出现了警告,也没有输出'this is a test'.
错误如下:
C:\Users\hahaliu>php G:\www\index.php
PHP Warning: file_get_contents(test.php): failed to open stream: No such file
or directory in G:\www\index.php on line 3
Warning: file_get_contents(test.php): failed to open stream: No such file or di
rectory in G:\www\index.php on line 3
然后我将$file改为了绝对路径
$file = 'G:/www/test.php';
命令行下就能输出'this is a test',为什么用相对路径在命令行下就出错了?我很困惑,是什么没有设置对吗?
------解决方案--------------------
在不考虑php.ini中include_path的指定的情况下:
通过浏览器浏览,也就是作为web server浏览的情况下,文件运行的目录是基于web server配置的
而通过命令行,则是基于系统环境path的
可以通过下面2个输出看出不一样
这是index.php
- PHP code
然后test.php中就一句话:this is a test
这两个文件位于同一级目录,我在浏览器中运行时,'this is a test'这句话会被正常打出来,而用命令行运行时却出现了警告,也没有输出'this is a test'.
错误如下:
C:\Users\hahaliu>php G:\www\index.php
PHP Warning: file_get_contents(test.php): failed to open stream: No such file
or directory in G:\www\index.php on line 3
Warning: file_get_contents(test.php): failed to open stream: No such file or di
rectory in G:\www\index.php on line 3
然后我将$file改为了绝对路径
$file = 'G:/www/test.php';
命令行下就能输出'this is a test',为什么用相对路径在命令行下就出错了?我很困惑,是什么没有设置对吗?
------解决方案--------------------
在不考虑php.ini中include_path的指定的情况下:
通过浏览器浏览,也就是作为web server浏览的情况下,文件运行的目录是基于web server配置的
而通过命令行,则是基于系统环境path的
可以通过下面2个输出看出不一样
- PHP code
echo getcwd(); echo ini_get('include_path');相关文章
相关视频
上一篇: nginx反向代理到特定网站
推荐阅读
-
详解Docker 容器跨主机多网段通信解决方案
-
推特注册收不到手机验证码(目前最完美的解决方案)
-
PHP跨时区(UTC时间)应用解决方案_PHP
-
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
-
Android 7.0行为变更 FileUriExposedException解决方案 框架
-
Android 7.0行为变更 FileUriExposedException解决方案 框架
-
Mac环境mysql5.7.21 utf8编码问题及解决方案
-
VisualFoxPro6.0~9.0解决方案与范例大全写作原稿及光盘下载
-
PHP Ajax 跨域问题最佳解决方案
-
经验之谈PHP表单重复提交问题解决方案