
在使用 file_get_contents远程请求url时,出现警告:
php_network_getaddresses: getaddrinfo failed: Name or servicenot known
这个问题通常是由于 Apache/PHP主机连不上dns服务器。
首先,要在命令行下检查,是否能ping通远程主机。
如果ping不通,那么你的name server(如果是fedora,在/etc/resolv.conf文件中)设置有问题。找一个可以使用的dns,
用该dns的ip替换/etc/resolv.conf 中第一个nameserver的ip,然后重启apache。
如果能ping通,那么apache现在连的是一个有问题的dns服务器。你需要重启......
作者: owoer
|
发表于:2016年10月23日
|
栏目:PHP
|
php_network_getaddresses: getaddrinfo failed: Name or service not known已关闭评论
阅读全文

问题:
redis扩展是基于php 的socket方式实现的
php.ini中的一个配置项:default_socket_timeout = 60
因此该参数同样起作用。
解决方法:
1、直接修改php.ini,将其设置为我们想要的值(这个不推荐)
2、在脚本中设置:ini_set(‘default_socket_timeout’, -1); //不超时
作者: owoer
|
发表于:2016年6月24日
|
栏目:PHP, Redis
|
phpredis ‘RedisException’ with message ‘read error on connection’已关闭评论
阅读全文

$redis->connect('127.0.0.1', 6379);
for ($i = 0; $i < 10; $i++) {
$value = 'value_' . date('Y-m-d H:i:s');
$redis->LPUSH('key1', $value);
}
echo $l = $redis->lLen('key1') . "</br>";
for ($i = 0; $i < $l; $i++) {
echo $i.':'.$redis->LPOP('key1') . "</br>";
}
echo $l = $redis->lLen('key1') . "</br>";
//$redis->del('key1');
//$redis->close();
参考:
【高并发简单解决方案】redis队列缓......

PDO持久化连接的方式来访问数据库,代码如下:
<?php
$type = 'mysql'; //数据库类型
$db_name = 'test'; //数据库名
$host = '127.0.0.1';
$username = 'root';
$password = 'ready';
$dsn = "$type:host=$host;dbname=$db_name";
try {
//建立持久化的PDO连接
$pdo = new PDO($dsn, $username, $password, array(PDO::ATTR_PERSISTENT => true));
} catch (Exception $e) {
die('连接数据库失败!');
}
$stmt = $pdo->query('SELECT id, body FROM demo');
while ($row ......

phpredis是redis的php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系
很有用;以下是redis官方提供的命令使用技巧:
下载地址如下:
https://github.com/owlient/phpredis(支持redis 2.0.4)
Redis::__construct构造函数
$redis = new Redis();
connect, open 链接redis服务
参数
host: string,服务地址
port: int,端口号
timeout: float,链接时长 (可选, 默认为 0 ,不限链接时间)
注: 在redis.conf中也有时间,默认为300
pconnect, popen 不会主动关闭的链接
参考上面
setOption 设置redis模式
getOption ......