Strict Standards: Only variables should be passed by reference in
php中使用内置的reset函数可以获取array的第一个元素的值。例如:
代码如下 | 复制代码 |
$arr = array('one', 'two', 'three'); echo reset($arr); |
// 输出的结果为 one对于下述代码,如果php开启了"Strict Standards",将会看到"Strict Standards: Only variables should be passed by reference in"的提示。
代码如下 | 复制代码 |
$str = 'netingcn.com'; echo reset(explode('.', $str)); |
为什么会这样呢?可以先看看reset函数的定义:
function reset (array &$array) {}从定义中可以看到,reset接受的参数是一个array的引用。而上述代码中explode返回值不是任何array的引用,所以在"Strict Standards"下会有上述提示。解决办法很简单,只需要把reset(explode('.', $str))分两步写即可。第一步先把explode的返回值赋给一个变量,第二步把这个变量作为reset参数。
出现上面的提示的不只是reset函数,只要参数接受的是对象引用,而传值直接使用function返回值都会看到那样的提示。例如内置的array_pop、shuffle、curent、next、prev、next等等
今天白天才架起PHPStorm+xdebug的调试环境,就遇到了各式各样的问题:访问超慢响应、访问超快响应但是是空白页。
问题A解决的方法很多,总归还有解决办法;问题B我估计是线程问题,也许可以通过调试php.ini的配置搞定,也许不是,很难讲清楚,线程的问题可能要跟xdebug的版本扯上关系。
解决方式
PHP.ini 找到memory_limit参数,增大!
换一个浏览器!我之前一直用Google Chrome调试程序,之后就开始变慢下来,直到每个页面变成6秒才加载完毕,已经忍无可忍。换成了Firefox、IE均没有这个问题。 (这个方法很好用,还能立刻见效!)
使用 xdebug.profiler_enable_trigger配置,有选择的运行xdebug功能探查程序。
xdebug.remote_host 的值最好跟你服务器的IP一致,比方说你是通过localhost访问,则这里写localhost,你是127.0.0.1访问,就写127.0.0.1
看看你的xdebug.profiler_output_dir目录是否已经达到几G了?(一套电商程序很可能在持续开发十几个小时后,xdebug.profiler_output_dir目录的xdebug文件达到好几G!)
平时不需要的时候,最好关闭xdebug!
xdebug.remote_enable = 0
xdebug.profiler_enable = 0
xdebug.remote_autostart = false
最后,一句话:DON’T RUN XDEBUG ON PRODUCTION.
php 中使用memcached扩展来访问memcached时,当memcached服务器无法正常连接,在默认设置下会造成请求响应变慢。注意:无法正常连接指网络故障,如两台服务器无法进行通信等,只要能ping通,就算memcached服务没有开启或down掉,不会影响响应时间,只是memcached没有启作用。
设置timeout时间通过常量Memcached::OPT_CONNECT_TIMEOUT来控制,默认是4000毫秒(php 官网显示1000,我测试版本1.0.2和2.0.1都是4000)。另外1.0.2和2.0.1还有很大差别。1.0.2在执行addServer时就会连接memcached服务器,而且执行命令时候需要2倍的timeout时间,所有当memcached无法连接时候,花费时间是3倍的timeout时间。
2.0.1在php 5.2中似乎有bug,无法使用,具体参看:https://bugs.php.net/bug.php?id=61283。
本文章来给各位同学介绍Windows 平台的 PHP 报错 Fatal error: Class \'COM\' not found in 的解决方法,有需要了解的朋友可参考。
然在 Win Server 08 往上搭载的 IIS 跑 php 性能提升不少,但还是觉得不太舒服。。。
某日在调试一个win上的php生产环境时,一段php代码返回了错误:
Fatal error: Class 'COM' not found in XXXXXXXXX
1 Fatal error: Class 'COM' not found in XXXXXXXXX
没发现 COM 类,php代码主要是调用一些系统的信息,初想应该是php没配置好,在stackoverflow找到答案,是讨论xampp的,要延伸开来,我加了几个要点:
★ php 根目录的 ext 文件夹下确保存有 php_com_dotnet.dll 这个文件
★ php.ini 确保有此语句
[PHP_COM_DOTNET]
extension=php_com_dotnet.dll
1
2 [PHP_COM_DOTNET]extension=php_com_dotnet.dll
★ 开始 > 运行 > services.msc 回车 > 确保 COM+ Event System 的服务开启
在 PHP 5.4.5 版本之前是内置的,但往后版本中分离了。。。
今天在使用phpwind9.0时发现安装它时居然需要安装pdo_mysql这个组件了,这个个人认为是一个脑残的做法,现在有多少站长是空间怎么可能权限来修改php.ini配置呢,为phpwind团队做出这样的做法感觉无奈下面我来介绍一些办法,这些都是有服务器操作权限的朋友可参考下面办法。
常见错误:
1.pdo_mysql未安装
解决方法:
修改本地php.ini配置,以Win下的php为例,
找到
代码如下 | 复制代码 |
;extension=php_pdo_mysql.dll 修改成 ;extension=php_pdo_mysql.dll |
去除前面的分号“;”。重启apache服务即可。
linux服务器处理办法
lanmp可以试着改一下php.ini
代码如下 | 复制代码 |
extension_dir = /www/wdlinux/apache_php-5.2.17/lib/php/extensions/no-debug-non-zts-20060613/ |
测试后发现无效!
开始重新pdo_mysql的安装,需要用Xshell一类的软件登陆服务器进行设置
步骤:
1. cd lanmp //移动到安装包目录下
2. tar zxvf PDO_MYSQL-1.0.2.tgz //解压安装包
3. cd PDO_MYSQL-1.0.2 //进入解压后安装目录
4. /www/wdlinux/php/bin/phpize //查询环境版本
5. ./configure –with-php-config=/www/wdlinux/php/bin/php-config –with-pdo-mysql=/www/wdlinux/mysql //编译前测试配置
6. make //编译安装包
7. make install //安装
安装后重启:service httpd restart 和 service nginxd restart
然后再次安装phpwind9.0即可解决问题!
此方法可以解决:wdcp环境VPS,阿里云服务器的配置中出现pdo_mysql未安装和数据库连接失败could not find driver的问题!
相关文章
Repeater事件OnItemCommand取得行内控件的方法
这篇文章主要介绍了Repeater事件OnItemCommand取得行内控件的方法,有需要的朋友可以参考一下...2021-09-22- 这篇文章主要介绍了goland设置颜色和字体的操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-04
- 这篇文章主要介绍了C#中var关键字用法,实例分析了C#中var关键字的应用场合,对于.NET的学习具有一定参考价值,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了goland 设置project gopath的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
httpwebreqeust读取httponly的cookie方法
下面小编就为大家带来一篇httpwebreqeust读取httponly的cookie方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25.NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法
当TextBox设置了ReadOnly=true后要是在前台为控件添加了值,后台是取不到的,值为空,多么郁闷的一个问题经过尝试,发现可以通过如下的方式解决这个问题.感兴趣的朋友可以了解下...2021-09-22- 这篇文章主要介绍了如何在RowCommand事件中获取索引值,需要的朋友可以参考下...2021-09-22
- readonly修饰符用来表示只读,const用来表示不变常量。顾名思义,只读表示不能进行写操作;不变常量不能被修改。这两者到底有什么区别呢...2021-09-22
- 这篇文章主要介绍了C#中const 和 readonly 修饰符的用法,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2020-06-25
- const 和 readonly 的区别,总是不太清楚,于是查了查资料。...2020-06-25
- 这篇文章介绍了c#中var关键字用法,有需要的朋友可以参考一下...2020-06-25
解决MySQL 5.7.9版本sql_mode=only_full_group_by问题
这篇文章主要介绍了解决MySQL 5.7.9版本sql_mode=only_full_group_by问题,需要的朋友可以参考下...2017-05-09详解C# 匿名对象(匿名类型)、var、动态类型 dynamic
随着C#的发展,该语言内容不断丰富,开发变得更加方便快捷,C# 的锋利尽显无疑。下面通过本文给大家分享C# 匿名对象(匿名类型)、var、动态类型 dynamic,需要的的朋友参考下吧...2020-06-25- 这篇文章主要介绍了如何使用Goland IDE go mod 方式构建项目,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-16
- array_rand是数组随机函数了,我今天看到一个站长简单的介绍array_rand性能了,于是把许久没写的php再来简单的看看,我们一起来看看array_rand函数用法吧。 从一个数...2016-11-25
- 如果你学过ASP.NET理论知识都会知道,在ASP.NET中 readonly和const修饰的变量都是恒量,它们的值是不可以被修改的。但是他们之间到底有什么区别?下面小编就它们的区别用例子来进行说明。...2021-09-22
- 这篇文章主要介绍了JDK10中的局部变量类型推断var,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-29
C# 中const,readonly,static的使用小结
这篇文章主要介绍了C# 中使用const,readonly,static的示例,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-26.net 获取浏览器Cookie(包括HttpOnly)实例分享
这篇文章介绍了.net 获取浏览器Cookie(包括HttpOnly)实例,有需要的朋友可以参考一下...2021-09-22- Go的泛型不是还在设计草图吗?最乐观估计也要2021年8月份。你说Go语言现在都没开发好泛型,你支持这个特性有什么用呢?感兴趣的朋友跟随小编一起看看吧...2020-12-11