安装 Swoole 提示 openssl 相关报错处理


报错

1
2
3
4
5
6
7
8
9
10
11
12
ocal/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/local/openssl/include -I/tmp/pear/temp/swoole -I/tmp/pear/temp/swoole/include -I/tmp/pear/temp/swoole/ext-src -I/tmp/pear/temp/swoole/thirdparty/hiredis -DHAVE_CONFIG_H -g -O2 -Wall -Wno-unused-function -Wno-deprecated -Wno-deprecated-declarations -std=c++11 -c /tmp/pear/temp/swoole/ext-src/php_swoole.cc  -fPIC -DPIC -o ext-src/.libs/php_swoole.o
In file included from /tmp/pear/temp/swoole/include/swoole_socket.h:34,
from /tmp/pear/temp/swoole/include/swoole_coroutine.h:22,
from /tmp/pear/temp/swoole/ext-src/php_swoole_coroutine.h:22,
from /tmp/pear/temp/swoole/ext-src/php_swoole_cxx.h:20,
from /tmp/pear/temp/swoole/ext-src/php_swoole.cc:16:
/tmp/pear/temp/swoole/include/swoole_ssl.h:27:10: fatal error: openssl/ssl.h: No such file or directory
#include <openssl/ssl.h>
^~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:192: ext-src/php_swoole.lo] Error 1
ERROR: `make' failed
阅读更多

LeetCode:删除字符串中的所有相邻重复项


题目

给出由小写字母组成的字符串 S, 重复项删除操作 会选择两个相邻且相同的字母,并删除它们。

在 S 上反复执行重复项删除操作,直到无法继续删除。

在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。

阅读更多

LeetCode:两数之和


题目

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

你可以按任意顺序返回答案。

阅读更多

Swoole 协程的思考-执行顺序


示例

情况一:非阻塞IO

1
2
3
4
5
6
7
8
9
10
11
12
<?php

go(function () {
echo 'AA'.date('Y-m-d H:i:s').PHP_EOL;
Co::sleep(1);
echo 'BBB'.date('Y-m-d H:i:s').PHP_EOL;
});

go(function () {
echo 'CC'.date('Y-m-d H:i:s').PHP_EOL;
echo 'DD'.date('Y-m-d H:i:s').PHP_EOL;
});
阅读更多

PHP 各版本特性:PHP 7.4.x


本文部分内容根据官网进行删减,仅整理常用特性。

新特性

类属性

类属性现在支持类型声明。

1
2
3
4
5
6
7
8
<?php

class User
{
public int $id;

public string $name;
}
阅读更多

PHP 各版本特性:PHP 7.2.x


本文部分内容根据官网进行删减,仅整理常用特性。

新特性

新的对象类型

这种新的对象类型, object, 引进了可用于逆变(contravariant)参数输入和协变(covariant)返回任何对象类型。

1
2
3
4
5
6
7
8
<?php

function test(object $obj) : object
{
return new SplQueue();
}

test(new StdClass());
阅读更多

PHP 各版本特性:PHP 7.1.x


本文部分内容根据官网进行删减,仅整理常用特性。

新特性

可为空(Nullable)类型

参数以及返回值的类型现在可以通过在类型前加上一个问号使之允许为空。 当启用这个特性时,传入的参数或者函数返回的结果要么是给定的类型,要么是 null

阅读更多

PHPDoc 代码注释


规范注释

标准注释

1
2
3
4
5
6
7
8
9
<?php
/**
* 标题及说明
*
* @author 作者 <邮箱>
* @param 参数数据类型 参数变量 参数说明
*
* @return 返回数据类型 返回说明
*/
阅读更多