- 1、在dos的cmd模式下执行php 已加载的模块都不能使用
- 2、怎样让PHP在DOS窗口下运行
- 3、请教如何在DOS下执行PHP页面?
- 4、怎么在DOS命令下执行php文件
- 5、在dos中执行.php脚本语言为什么不执行,而是把.php文件的内容打印出来了
这个是因为php的php.ini没有被正确读取到,所产生的模块没有加载的问题,意思是,你的cli模式的php载入是的是一个php.ini,而你的服务器载入的是另外一个php.ini。或者是你机器上的php的cli版本和服务器使用的php的版本不一致等情况,都有可能导致这种情况。
解决方法如下:
1. 同楼上,使用dl来加载模块,不过这种方法某些平台不支持,且效果和同服务器上使用php.ini加载的模块使用起来效果或许会不一致。
2. 在命令行执行php时,使用php –ini命令先行查看php加载的配置文件的地址与服务器上用phpinfo函数查看到的php加载的php.ini文件是否一致。(LZ的这个错误多半是这种情况,后续方法是基于这个检查出文件不一致的)
3. 在命令行执行php时,使用php -c “php.ini文件所在文件夹地址”来运行php文件。
4. 把服务器那个的php.ini拷贝到C:\Windows\目录下。
5. 在命令行里用命令执行set PHPRC=”php.ini文件所在文件夹地址”来设置php.ini文件所在文件夹的默认地址
3.4.5的方法效果相同
有关php.ini配置文件的加载的其他问题,请LZ参考这篇博客文章
对于LZ提出的新的问题,我有以下疑问和解决方法:
1. 很有可能你的机器上安装了多个php版本,使用浏览器访问的时候用的php是5.2的,而在命令行里使用的php版本是php 5.3的,这样就不难解释提示配置文件部分设置已失效;
2. 你的wamp中,apache的配置httpd.conf里面通过PHPIniDir设置了PHP模块的php.ini文件的地址,导致实际上两种方式加载的还是不同的文件,即使你把php.ini放到了C:\windows\下;
对于这两种可能情况,最好的解决方法是:
在命令行下php -v查看当前命令行下php版本,写一个php脚本,调用phpinfo函数,查看下浏览器下访问时php的详细环境信息,包括php版本,php的ini地址,php加载的模块等。
如果检查到命令行下是php5.3,而浏览器用的是php5.2,问题可以通过修改PATH环境变量,把PHP5.2的文件夹加到PATH里面,去掉PHP5.3的。
如果检查到PHP的ini文件加载错误,浏览器加载的是apache 配置中 通过 PHPIniDir 配置的ini文件话,把这个ini覆盖C:\Windows\下的即可。
是说PHP的CLI模式吗?
如果是话,先将php.exe 加入 环境变量 (不知道什么是环境变量的请自己搜索其他答案),然后就可以在 Dos 界面直接 运行:
php xxx.php
打开 命令提示符 cmd.exe
进入PHP的安装目录,
输入 php.exe “abc.php”
则将在 DOS 下执行 abc.php
你可以将 abc.php 改成你的文件名, 注意目录结构
我这里直接使用 abc.php 是因为 abc.php 与 php.exe 是在同一个目录下
为了方便, 你也可以把 php 的安装目录加到环境变量 PATH 中
(右击我的电脑-属性-高级-环境变量, 如果存在 PATH 则在原来的 PATH 中加入你的PHP安装目录, 如果不存在则新建一个 PATH)
加入到环境变量后, 你就不用在 cmd 中进入到 php 的安装目录就可以
输入 php.exe “abc.php” (注意, 此时 “abc.php” 必须在你的 cmd 正在的目录中)
确保你的系统有配置安装php环境
进入php文件路径下执行php文件 php xxx.php
因为你没指定php.exe文件的路径吧
php.exe文件的路径 .php文件
这样才行
原创文章,作者:HUHDR,如若转载,请注明出处:https://www.506064.com/n/126533.html