本文目录一览:
- 1、php_network_getaddresses: getaddrinfo failed: 不知道这样的主机.
- 2、虚拟主机搭建小说站PHP符合条件但是显示错误?
- 3、PHP配置apache的虚拟主机,导致无法解析php。
- 4、php用smtp 发送邮件失败提示无法连接到主机
- 5、问一下http://club.51.net/newuser/f_service.php怎么上传文件?
php_network_getaddresses: getaddrinfo failed: 不知道这样的主机.
你看下 C:\windows\system32\drivers\etc\host这个文件,里面有没有
127.0.0.1 localhost
这一行,没有的话加进去,应该是本地dns没有解析localhost
虚拟主机搭建小说站PHP符合条件但是显示错误?
nginx 配置虚拟主
502错误是所有用nginx跑php的运维人员不愿意看见的
nginx出现502有很多原因,但大部分原因可以归结为资源数量不够用,也就是说后端php-fpm处理有问题,nginx将正确的客户端请求发给了后端的php-fpm进程,但是因为php-fpm进程的问题导致不能正确解析php代码,最终返回给了客户端502错误。
服务器出现502的原因是连接超时 我们向服务器发送请求 由于服务器当前链接太多,导致服务器方面无法给于正常的响应,产生此类报错
因此如果你服务器并发量非常大,那只能先增加机器,然后按以下方式优化会取得更好效果;但如果你并发不大却出现502,一般都可以归结为配置问题,脚本超时问题。
1.php-fpm进程数不够用
使用 netstat -napo |grep "php-fpm" | wc -l 查看一下当前fastcgi进程个数,如果个数接近conf里配置的上限,就需要调高进程数。
但也不能无休止调高,可以根据服务器内存情况,可以把php-fpm子进程数调到100或以上,在4G内存的服务器上200就可以。
2. 调高调高linux内核打开文件数量
可以使用这些命令(必须是root帐号)
echo 'ulimit -HSn 65536' /etc/profile
echo 'ulimit -HSn 65536' /etc/rc.local
source /etc/profile
3.脚本执行时间超时
如果脚本因为某种原因长时间等待不返回 ,导致新来的请求不能得到处理,可以适当调小如下配置。
nginx.conf里面主要是如下
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
php-fpm.conf里如要是如下
request_terminate_timeout = 10s
4.缓存设置比较小
修改或增加配置到nginx.conf
proxy_buffer_size 64k;
proxy_buffers 512k;
proxy_busy_buffers_size 128k;
5. recv() failed (104: Connection reset by peer) while reading response header from upstream
可能的原因机房网络丢包或者机房有硬件防火墙禁止访问该域名
但最重要的是程序里要设置好超时,不要使用php-fpm的request_terminate_timeout,
最好设成request_terminate_timeout=0;
因为这个参数会直接杀掉php进程,然后重启php进程,这样前端nginx就会返回104: Connection reset by peer。这个过程是很慢,总体感觉就是网站很卡。
May 01 10:50:58.044162 [WARNING] [pool www] child 4074, script '/usr/local/nginx/html/quancha/sameip/detail.php' execution timed out (15.129933 sec), terminating
May 01 10:50:58.045725 [WARNING] [pool www] child 4074 exited on signal 15 SIGTERM after 90.227060 seconds from start
May 01 10:50:58.046818 [NOTICE] [pool www] child 4082 started
说一千道一万最重要的就是程序里控制好超时,gethostbyname、curl、file_get_contents等函数的都要设置超时时间。
另一个就是多说,这个东西是增加了网站的交互性,但是使用的多了反应就慢了,如果你网站超时且使用了多说是,可以关闭它。
转载请保留
机访问PHP文件 502错误的解决方法
PHP配置apache的虚拟主机,导致无法解析php。
没试过多端口运行的,你试试在httpd.conf里加Listen 8888看有没效果
php用smtp 发送邮件失败提示无法连接到主机
PHPMailer是一个邮件发送插件有很多朋友使用它来发邮件,但也有不少朋友在使用期PHPMailer发邮件时就碰到”SMTP 错误:无法连接到 SMTP 主机“错误了,出现这种问题我们从几个点来分享,一个是邮箱配置有问题,另一个是我们的php.ini环境中有些函数没开启导致的,下面我来给各位详细介绍一下问题的排除技巧。
原因分析
出现这个问题说明无法解析 SMTP 主机 主机 id 的名称。
解决办法,这个要看邮箱支付不支持pop3发送与接收邮件这个可以邮件官方看看,如QQ邮件
phpmailer error SMTP Error: Could not connect to SMTP host Could not instantiate mail function
弄了半天,原来是不同邮件系统要求的smtp请求不同,但是都允许大写,有些不支持小写,比如网易,腾讯的邮箱。
原来的设置
$mail-SMTPAuth = true;
$mail-Mailer = "smtp";
$mail-Host = "smtp.qq.com";
$mail-Port = 25; //设置邮件服务器的端口,默认为25
$mail-Username = "8515888@qq.com";
$mail-Password = "xxxxxxxxxx";
把smtp改成大写就可以了
$mail-Mailer = "SMTP";
分析问题2,
还有大家就是使用了空间而不是服务器这样有可能像fsockopen、pfsockopen都禁用了,因为phpmailer需要使用fsockopen、pfsockopen才可以发邮件所以就会有问题了。
解决办法
找到class.smtp.php文件,大约在文件的128行吧,有这样一段代码:
// connect to the smtp server
$this-smtp_conn = @fsockopen($host, // the host of the server
$port, // the port to use
$errno, // error number if any
$errstr, // error message if any
$tval); // give up after ? secs
方法1:将fsockopen函数替换成pfsockopen函数
因为pfsockopen的参数与fsockopen基本一致,所以只需要将@fsockopen替换成@pfsockopen就可以了。
方法2:使用stream_socket_client函数
一般fsockopen()被禁,pfsockopen也有可能被禁,所以这里介绍另一个函数stream_socket_client()。
stream_socket_client的参数与fsockopen有所不同,所以代码要修改为:
$this-smtp_conn = stream_socket_client("tcp://".$host.":".$port, $errno, $errstr, $tval);
这样就可以了。
问一下http://club.51.net/newuser/f_service.php怎么上传文件?
你的DNS有问题,刚申请的时候要在51的DNS服务器上增加s89725t.go.51.net的解析,但是你本地的DNS服务器没有那么快的去更新这个记录。
而你连接空间时候用的地址是域名,你解析不出来,肯定连接不上了,现在再用应该没什么问题了