报错:Directive ‘track_errors’ is deprecated

2018年9月18日 由 Amon 没有评论 »

参考:https://github.com/SublimeLinter/SublimeLinter-phplint/issues/31
参考:https://www.cnblogs.com/gyfluck/p/9076583.html

当升级到 PHP 7.2时,查看版本:

php -v

输出:

PHP Deprecated:  Directive 'track_errors' is deprecated in Unknown on line 0

Deprecated: Directive 'track_errors' is deprecated in Unknown on line 0
PHP 7.2.10 (cli) (built: Sep 17 2018 14:06:04) ( ZTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

The track_errors was deprecated in PHP 7.2

打开 php.ini :

修改:

track_errors=On

为:

track_errors=Off

When the track_errors ini setting is enabled, a $php_errormsg variable is created in the local scope when a non-fatal error occurs. Given that the preferred way of retrieving such error information is by using error_get_last(), this feature has been deprecated.

参考:http://php.net/manual/pt_BR/migration72.deprecated.php

报错:libiconv.so.2: cannot open shared object file: No such file or directory

2018年9月17日 由 Amon 没有评论 »

刚才新开一个VPS,执行 yum 命令时,报错:

There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   libiconv.so.2: cannot open shared object file: No such file or directory

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.7.5 (default, Jul 13 2018, 13:06:57)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

If you cannot solve this problem yourself, please go to
the yum faq at:
  http://yum.baseurl.org/wiki/Faq

方法:给libiconv.so.2做个软件链接
参考:https://blog.csdn.net/jk110333/article/details/7556626

ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2

遇见这个错误说明没找到libiconv.so.2文件

1. 查看/usr/local/lib下是否有这个库文件,有的话说明已经安装了libiconv,没有说明没有安装
2. 若没有安装就下载个安装包,安装好,再测试。参考:http://amon.org/libiconv
3. 若已经安装:在/etc/ld.so.conf中添加/usr/local/lib,再执行一下ldconfig;或者做一个软连接。测试是否可行。

报错:failed: No route to host.

2018年9月17日 由 Amon 没有评论 »

当尝试转移一个大文件时,报错:

输入:

wget domain.com/archive.tgz

输出:

--2018-09-16 23:36:38--  http://domain.com/archive.tgz
Resolving domain.com (domain.com)... 123.123.123.123
Connecting to domain.com (domain.com)|123.123.123.123|:80... failed: No route to host.

原因其实很简单 ,就是因为系统防火墙没有关。

参考:https://blog.csdn.net/hanshuizhe/article/details/53282379
参考:https://www.zhihu.com/question/51740294

关闭防火墙后,访问正常。

根本问题是是配置完毕后没有重新载入防火墙。重新载入防火墙让80端口放行生效后,重新开启防火墙。

怎样修改SSH端口号

2018年9月13日 由 Amon 没有评论 »

Linux服务器远程连接的SSH端口默认为22。

很多机器人进行端口扫描、暴力破解就是从22开始。若您的密码还设置过于简单,那么可能中招。

参考:https://www.vultr.com/docs/changing-your-ssh-port-for-extra-security-on-centos-6-or-7
参考:https://blog.csdn.net/yanzi1225627/article/details/51470962

1. 修改SSH端口号

编辑 /etc/ssh/sshd_config , 找到 #Port22 这一行,将#号去掉,并将22修改为您想设置的端口号,最后保存退出:

#   Port 22
Port 1024

2. 然后更新防火墙设置:

如果是CentOS 6,使用 iptables 防火墙:

iptables -I INPUT -p tcp --dport 1024 --syn -j ACCEPT
service iptables save
semanage port -a -t ssh_port_t -p tcp 1024

如果是CentOS 7,使用 firewalld 防火墙:

firewall-cmd --zone=public --add-port=1024/tcp --permanent

如果需要删除:

firewall-cmd --zone=public --remove-port=1024/tcp --permanent

重载配置使之生效:

firewall-cmd --reload

查看已放行端口:

firewall-cmd --zone=public --list-ports

3. 重启SSH服务使之生效

service sshd restart

4. 阿里云盾

如果是阿里云,需要在安全组规则中同步设置。

参考:https://help.aliyun.com/document_detail/25471.html?spm=5176.2020520101.0.d0.60c04df5KklC9G

4. 其他安全措施:

参考:http://amon.org/fail2ban
参考:http://amon.org/firewalld

怎样安装nesbot/carbon

2018年9月12日 由 Amon 没有评论 »

参考:https://www.leigougou.com/article/53
参考:https://blog.csdn.net/Zhihua_W/article/details/53484562

【安装】

参考:http://amon.org/composer
参考:https://packagist.org/packages/nesbot/carbon
参考:https://pkg.phpcomposer.com/#how-to-use-packagist-mirror

通过 Composer 来安装 Carbon:

composer require nesbot/carbon

【应用】

官网:https://github.com/dambergautam/timezone

Calculate date differences, list php timezones, convert date to provided timezone using nesbot/carbon package.