解决PHP报错Notice: Use of undefined constant “session - assumed '“session'

在PHP开发中遇到如下警告报错信息,从警告报错信息看出错误发生在 /usr/share/nginx/html/index.php 文件的第2行

Notice: Use of undefined constant “session - assumed '“session' in /usr/share/nginx/html/index.php on line 2

Notice: Use of undefined constant cookie_httponly” - assumed 'cookie_httponly”' in /usr/share/nginx/html/index.php on line 2

image.png

为啥会有这个报错呢?PHP Notice(通知)错误信息表明你在 PHP 代码中使用了未加引号的字符串,而 PHP 将其误认为是常量(constant)。由于这些常量并不存在,PHP 会发出一个 Notice,并自动将其当作字符串处理(但这是不安全且不符合规范的做法)。

如何修复

使用代码编辑器软件打开index.php文件定位到报错的第二行,检查发现提示错误的那行使用了中文引号导致PHP误将字符串当作未定义常量从而提示警告报错,大写尴尬!!

image.png

原来代码

ini_set(“session.cookie_httponly”, 1);

修复后代码

ini_set("session.cookie_httponly", 1);

确保所有字符串都用英文单引号 ' 或双引号 " 正确包裹,修复后保存index.php代码文件,Notice报错提示已解决不在提示

为啥会有这种情况呢?

一些编辑器或者Word、记事本等软件可能会存在自动把英文引号 " " 转成中文引号 “ ”,从而导致提示报错,写代码还是建议使用专门写代码编辑器软件(如 VS Code、PHPStorm、Notepad++ 等)编写,错误能提前预见

总结

代码还是需要使用专业的代码编辑器,不要为了图方便直接用记事本等基础文本工具修改,否则极易因格式转换(如引号异常)引发低级错误。


© 除非注明,否则均为阿豪运维笔记原创文章,转载或复制请以超链接形式并注明出处

取消
微信二维码
微信二维码
支付宝二维码