PHP Fatal error: Can't use function return value in write context技术
经常写代码的你,是否遇到过这样的错误: FastCGI sent in stderr: "PHP message: PHP Fatal error: Can't use function return value in write context in ...
这是与 php 版本有关的报错,不能使用函数返回值作为函数参数,5.5 之后就不会有。
if (empty(self::conn())) return false;
empty function can be used only for variables and if you pass anything else, it will throw a parse error:
thymeleaf 模板对未闭合标签解析出错技术
thymeleaf 模板对 HTML 文件标签内容太严格的解决方式。
1. 在 application.properties 文件中添加如下配置:
spring.thymeleaf.mode=LEGACYHTML5
2. 对于 maven 用户,在 pom.xml 的 dependencies 中添加如下依赖:
<dependency> <groupId>net.sourceforge.nekohtml</groupId> <artifactId>nekohtml</artifactId> </dependency>
使用GIT将所有提交合并为一个提交技术
使用 GIT 将多个提交合并为一个提交,这个问题我们很轻易的就能想到,使用 git rebase 命令即可。
但是,凡事都有例外,rebase 最后的两个提交是不可以再合并的,剩下最近的两个提交怎么办。
下面的命令可以用来将最终的两个提交合并为一个提交。
git reset --soft "HEAD^" git commit --amend
解决configure: error: Cannot find OpenSSL's <evp.h>技术
PHP 的后期新版本由于某些版权问题,不再默认支持 mysql 扩展,官方推荐使用 mysqli 和 pdo_mysql。在使用源代码安装 PHP 时,默认是不会安装 pdo_mysql 扩展的,这样动态编译 mysqlnd、pdo_mysql 扩展会报一些奇怪的错误,如下:
configure: error: Cannot find OpenSSL's <evp.h>
尝试了很多方法,依然解决不了这个问题,其实 evp.h 是存在的,于是只能重新编译 PHP,问题解决。
在 PHP 源码编译安装的时候指定 --with-pdo-mysql 参数即可,如下代码示例。
./configure --enable-fpm --enable-mysqlnd --with-pdo-mysql=mysqlnd
Wayland上的Gnome遇到的坑技术
在开启 GDM-GNOME 显示管理器之后,如果该用户忘记设置 .xinitrc 文件,则 Gnome 应用程序会利用 XWayland,以传统 X 应用程序的方式运行。另外需要修改 /etc/gdm/custom.conf,将 WaylandEnable=false 这一行注释打开。从 GDM 3.16 版本起,默认情况下使用 Wayland 后端。
在 Wayland 上运行的 Gnome 会出现很多奇怪的问题,让人一下子找不出原因。
我很喜欢的终端 Tilda,在这种情况下,就不能启动了,会报很多奇怪的错误日志,大意是不能连接到 Dbus,如下日志片段:
[xcb] Unknown sequence number while appending request