PHP5.0 的框架,项目在生产环境 用 ng 部署 同样的代码没有报错,dump($get['type']); 输出了 null 但是我本地环境 就直接抛异常了。 有没有 PHP 的朋友帮忙看看。。
1
wmm221166 94 天前
一个 dump($get) 一个 dump($get['type']), 然后 $get 是个 int
|
2
GodlikeKarl 94 天前
你把$get 数组整个打印出来看有没有'type'对应的元素
|
3
abcdexx 94 天前
$get 是个 int 你也把它当数组使用? 你本地和生产环境 php 版本不一样吧? 要先判断 is_array($get)。
|
4
token10086 94 天前 ![]() |
![]() |
5
godloveplay OP @wmm221166 #1 对的,生产竟然不报错。我看不懂了
|
![]() |
6
godloveplay OP 生产本地 php7.4 生产应该是 7.2
|
![]() |
7
garlics 94 天前
版本问题,线上估计是 5.几的版本,本地估计是 7+的版本。如果版本一样就是错误提示等级不同,需要改配置文件。
|
![]() |
8
godloveplay OP |
![]() |
9
zjsxwc 94 天前
盲猜是 php5 碰到 $arr["non-exist-key"] 会返回 null 值,而 php7 碰到这种情况是抛异常。
|
![]() |
10
godloveplay OP 我是 java 程序员,看到这个诡异的 情况 想请教一下,是不是什么设置让 生产 不抛异常的。
|
![]() |
11
godloveplay OP @zjsxwc #9 我本地改 php5 试试看 T T
|
![]() |
12
godloveplay OP 下了好几个 PHP 版本 试了一下,php7.2 可以了。谢谢各位的热心 [抱拳]
|
![]() |
13
godloveplay OP @token10086 #4 请问 PHP 如何像 java 一样 在 IDEA 里面 断点 调试呀? 是使用 PHP xdebug 插件吗?
|
14
shiroyuri 94 天前
PHPStorm 配置 Xedug 插件
|
![]() |
15
0x49 94 天前
php7.4 需要 $get['type'] ?? null
|
16
dilu 94 天前
线上环境肯定是关掉报错提示了,php.ini 有个 error_reporting 可以控制报什么级别的错误,一般生成环境是全部关掉,开发环境是 warn 起步。
|
17
Rache1 94 天前
|
![]() |
18
x86 94 天前
thinkphp 本身就可以配置关闭不抛出异常的呀
|
19
dongtingyue 94 天前
php 环境改成一样的,要不然会有问题测不出来。
|
20
GodlikeKarl 94 天前
可能你的参数有问题,比如要传的 map ,结果传了一个 int 数字
|
21
1wlinesperday 94 天前
借楼问一下,帮忙部署一个 PHP 项目多少钱啊 https://secure.phabricator.com/book/phabricator/article/installation_guide/
|
![]() |
22
taozywu 94 天前
@1wlinesperday 可以私聊下 vx:dGFvenl3dQ==
|
23
dayeye2006199 94 天前 via Android
朋友 docker 了解一下
|
![]() |
24
yogogo 94 天前 via Android
服务器没有开启异常
|
![]() |
25
wellerman 94 天前
@godloveplay #5 结合顶上两张图片,这代码在本地也不会有预期的结果。$get 本来要接受一个数组,你给传了整数 1127 ($supplier_id ) 当然报错。生产环境之所以没报错,是因为生产环境关闭了错误显示。打开错误显示,肯定一样的错误。 另,#3 楼也已经指出错误原因。
显示全部错误: ini_set('display_errors', true); error_reporting(E_ALL); |
![]() |
26
qsnow6 94 天前
docker 可以抹平所有环境的差异
|
![]() |
27
ganbuliao 93 天前
打印一下生产环境的 php ini 和本地环境的
|