php7.0.11升级到php7.3.11安装swoole 过程中出现的问题 作者: lovingyu_er 时间: 2019-11-28 15:40:00 分类: 编程语言,PHP 评论 最近在公司的开发服务器上平滑升级php7.0.3到php7.3.11的时候,出现了一些错误,下面描述的这两种错误都是同一个原因导致的: ######平台信息: ````bash ubuntu版本 :Ubuntu 16.04.6 LTS \n \l 原php版本:php7.0.11 ```` 升级参考的博客链接,是我很早以前写的,详细链接可以参考: ```bash https://www.cnblogs.com/bing-yu12/p/10689323.html ``` 如果转载请标明出处 ```..........此处一顿骚操作.......``` 开始安装swoole ```pecl install swoole``` 问题出现如下: ```bash 错误1.PHP Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249 错误2.PHP Fatal error: Cannot use result of built-in function in write context in /usr/share/php/Archive/Tar.php on line 639 ``` 这个问题经过好次的搜索检索,都没有发现比较靠谱的解决方案,大部分都是如下的处理: ```bash 重新安装 Archive pear install Archive_Tar 然后在重新安装 pear install PHP_CodeSniffer ``` 发现并没有什么作用,后来想想,原来使用的是php7.0.11 的pear包的管理(pear是也是php的一种包管理工具,和composer,pecl 类似),那么我是不是要将这个包升级一下? ```sudo apt-get install php7.3-pear ``` 或者执行```sudo apt-get install php-pear```我执行的是后者发现有效,不同的平台请按照具体的提示去安装 ```bash 2.Warning: Invalid argument supplied for foreach() in Command.php on line 249 Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249 Warning: Invalid argument supplied for foreach() in Command.php on line 249 Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249 Warning: Invalid argument supplied for foreach() in Command.php on line 249 ... ``` 解决方案如下: 没有安装php7.3-xml扩展,安装即可 ```sudo apt-get install php7.3-xml``` 在进行composer安装的时候,出现了下述的问题: ```bash 3. composer install Loading composer repositories with package information Updating dependencies (including require-dev) [ErrorException] "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--] []... ``` 原因,升级了php7.3以后,需要将composer 包的版本也要重新升级,删除原来的composer重新安装composer,记得要bash一下,切换心的bash环境,不然无效的哦 ```bash PHP Warning: PHP Startup: Unable to load dynamic library 'redis' (tried: /usr/lib/php/20180731/redis (/usr/lib/php/20180731/redis: cannot open shared object file: No such file or directory), /usr/lib/php/20180731/redis.so (/usr/lib/php/20180731/redis.so: undefined symbol: php_json_decode_ex)) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'redis.so' (tried: /usr/lib/php/20180731/redis.so (/usr/lib/php/20180731/redis.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/redis.so.so (/usr/lib/php/20180731/redis.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 ``` redis的库有问题,需要重新安装,命令行下只需要执行```sudo pecl install redis``` 即可
那个人的样子好怪,看着好像一条狗 作者: lovingyu_er 时间: 2019-11-23 01:10:50 分类: 每日发呆 评论 #### 那个人样子好怪,他好像一条狗。 #### 那个人样子好怪,他好像一条狗。 #### 那个人样子好怪,他好像一条狗。 #### 那个人样子好怪,他好像一条狗。 #### 那个人样子好怪,他好像一条狗。 #### 那个人样子好怪,他好像一条狗。 #### 那个人样子好怪,他好像一条狗。 #### 那个人样子好怪,他好像一条狗。 #### 那个人样子好怪,他好像一条狗。 #### 那个人样子好怪,他好像一条狗。
错误提示:apt-get install software-properties-common,sudo: add-apt-repository: command not found 作者: lovingyu_er 时间: 2019-11-13 11:30:59 分类: Ubuntu 评论 在安装```dnscrypt-proxy``` 的时候,在安装第三方库的时候,也就是```sudo add-apt-repository ppa:shevchuk/dnscrypt-proxy``` ,Launchpad PPA Repositories是很有用的非ubuntu官方的第三方个人资源库,可以很方便地安装第三方软件。 安装的时候会需要额外的软件,直接 执行上述命令的时候会出现: ``` sudo: add-apt-repository: command not found ``` 问题原因: ``` 没有安装:software-properties-common ``` 解决方案: ``` apt-get install software-properties-common ```
DnsCrypt 解决dns污染的问题 作者: lovingyu_er 时间: 2019-11-13 10:42:00 分类: 编程语言,Ubuntu 评论 首先我们查看一下dns劫持和dns污染的定义 ####什么是DNS劫持 DNS劫持一般发生在某些网络运营商身上,DNS劫持就是劫持了DNS服务器,获取DNS服务器的控制权。通过某些手段修改这些域名的目的解析IP地址。DNS劫持通过篡改DNS服务器上的数据,给用户返回一个错误的查询结果来实现的。 DNS劫持症状:在某些地区的用户在成功连接宽带后,首次打开任何页面都指向ISP提供的“电信互联星空”、“网通黄页广告”等内容页面。还有就是曾经出现过用户访问Google域名的时候出现了百度的网站。这些都属于DNS劫持 应对DNS劫持,只需要在网络配置中把DNS服务器地址配置成国外的DNS服务器地址就可以解决,比如谷歌提供的DNS服务器地址:8.8.8.8 ,8.8.4.4 ####什么是DNS污染 DNS污染是一种让一般用户由于得到虚假目标主机IP而不能与其通信的方法,是一种DNS缓存投毒攻击(DNS cache poisoning)。其工作方式是:由于通常的DNS查询没有任何认证机制,而且DNS查询通常基于的UDP是无连接不可靠的协议,因此DNS的查询非常容易被篡改,通过对UDP端口53上的DNS查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器(NS,Name Server)给查询者返回虚假结果。 DNS污染症状:目前一些被禁止访问的网站很多就是通过DNS污染实现的,例如YouTube、Facebook、DropBox等网站。 由于通常的域名查询没有任何认证机制,而且域名查询通常基于无连接不可靠的UDP协议,查询者只能接受最先到达的格式正确结果,并丢弃之后的结果,所以容易伪造。