LMLPHP后院

PHP Fatal error: Can't use function return value in write context技术

maybe yes 发表于 2017-05-23 22:35

经常写代码的你,是否遇到过这样的错误: 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 模板对未闭合标签解析出错技术

maybe yes 发表于 2017-05-04 18:22

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将所有提交合并为一个提交技术

maybe yes 发表于 2017-04-02 18:49

使用 GIT 将多个提交合并为一个提交,这个问题我们很轻易的就能想到,使用 git rebase 命令即可。

但是,凡事都有例外,rebase 最后的两个提交是不可以再合并的,剩下最近的两个提交怎么办。

下面的命令可以用来将最终的两个提交合并为一个提交。

git reset --soft "HEAD^"
git commit --amend

解决configure: error: Cannot find OpenSSL's <evp.h>技术

maybe yes 发表于 2017-04-02 18:34

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遇到的坑技术

maybe yes 发表于 2017-04-02 18:12

在开启 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
2024-04-26 20:38:21 1714135101 0.005636