php 出现Strict Standards- Only variables should be passed b
这个问题多数源自于参数传递中的引用使用不当,有两种解决办法供您参考。可以选择修改代码,避免使用引用传递。如果您对这方面不太熟悉,还可以选择修改PHP的配置文件。具体来说,您可以调整error_reporting的值,将其设为E_ALL & ~E_NOTICE,以改变错误报告机制。调整函数中的引用方式也能解决问题。
在安装ECShop时,您可能遇到了一个错误提示:“Strict Standards: Only variables should be passed by reference”。这个问题出现在F:\..\cls_template.php文件的第418行。针对这个问题,解决方案是修改cls_template.php文件中的相关代码。例如,如果您使用的是狼蚁网站SEO优化的代码,其中的一些函数传参方式在PHP 5.3以上版本中会报错。
具体来说,原来的代码可能是这样的:
```php
$tag_sel = array_shift(explode(' ', $tag));
```
但由于PHP 5.3以上版本默认只能传递具体的变量,而不能通过函数返回值传递,所以需要修改代码,将explode的结果单独赋值给一个变量:
```php
$tagArr = explode(' ', $tag);
$tag_sel = array_shift($tagArr);
```
这样修改后,顶部的报错应该就会消失。至于左侧和底部的报错,可能需要去ecshop的后台点击清除缓存才能去除。
狼蚁网站SEO优化的代码中还有一段类似的代码:
```php
$file_suffix = strtolower(array_pop(explode('.', $file_name)));
```
在PHP 5.3以上版本中也会报错。正确的修改方式如下:
```php
$fnarray = explode('.', $file_name);
$file_suffix = strtolower(array_pop($fnarray));
```
为了避免这类问题,我们在编写代码时应该注意参数传递的方式。尽量单独写好每个参数的传递,避免在一行代码中完成所有操作。这样可以提高代码的可读性和可维护性,同时减少因引用传递不当导致的错误。希望这些解决方案能对您有所帮助。至于您提到的“cambrian.render('body')”,这可能是您应用中的某个特定函数或方法调用,与上述问题的解决无关。
编程语言
- php 出现Strict Standards- Only variables should be passed b
- FSO遍历目录实现全站插马的代码
- 简析ASP.NET网站的创建与发布过程
- 在ASP.NET中插入flash代码实例
- JavaScript中用let语句声明作用域的用法讲解
- asp.net中MVC借助Iframe实现无刷新上传文件实例
- 在ASP.NET中连接SQL Server的简单方法
- JS实现文字放大效果的方法
- vue-cli 组件的导入与使用教程详解
- ASP变量加变量实现代码
- 网站中的隐形炸弹eWebEditor文件上传漏洞补丁
- JS+CSS实现感应鼠标渐变显示DIV层的方法
- jQuery实现拖动调整表格单元格大小的代码实例
- JS实现探测网站链接的方法【测试可用】
- 使用PHP下载CSS文件中的图片的代码
- OAuth认证协议中的HMACSHA1加密算法(实例)