命令行下可以跑PHP脚本,但是通过浏览器却不能跑?

angryTom
发布: 2023-04-07 16:10:01
转载
2047 人浏览过

今晚我在使用YAF框架的时候,遇到了一个问题:命令行下可以跑YAF框架的入口文件,但是通过浏览器却不能跑?

这个问题折腾了我一晚上,好在一个群友慢慢帮我分析了一波,非常感谢!

原因是:我的FPM并没有使用yaf.so,但是CLI使用了yaf.so。

那么为什么会出现这种情况呢?因为命令行和PHP-FPM是两个不同的SAPI,它们可以加载不同路径下的php.ini文件。

而通过:php php文件名

这种方式是使用CLI这个SAPI。

通过:http://localhost/index.php

这种方式使用的是FPM这种SAPI。

那么我们如何查看CLI模式下添加了哪些扩展呢?使用:

php -m
登录后复制

而在PHP脚本中使用如下函数:

<?php
phpinfo();
登录后复制

则可以查看PHP-FPM添加了哪些扩展。


我放错误的原因主要是我一直以为CLI和FPM一定共用同一个php.ini文件,其实不一定,这是在编译PHP源代码的时候可以指定的。

emmm,希望可以帮助到大家。

基础真的很重要……

happy ending……

 更多PHP相关知识,请访问PHP中文网

以上是命令行下可以跑PHP脚本,但是通过浏览器却不能跑?的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:huanghantao.github.io
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!