【问题标题】:Phpredis and apachePhpredis 和 Apache
【发布时间】:2018-07-21 04:53:57
【问题描述】:

redis 与 apache 服务器兼容吗?我正在尝试从存储在我的 apache 服务器 web 目录中的 php 脚本运行 redis。

<?php 
//Connecting to Redis server on localhost 
$redis = new Redis(); 
$redis->connect('127.0.0.1', 6379); 
echo "Connection to server sucessfully"; 
//check whether server is running or not 
echo "Server is running: ".$redis->ping(); 
?>

当我尝试加载我的网页时,我收到 505 编程错误。我的 apache 设置是否重要?我在想我的 phpredis 扩展可能没有正确设置。我可以从树莓派终端 ping redis。如果这是我的问题,是否有人有任何关于向 php 添加 redis 扩展的好的教程?

【问题讨论】:

  • 尝试将您的代码包装在try-catch 块中,捕获RedisException 以获取有关该问题的更多信息。
  • 我得到相同的结果,如果你使用:$redis = new Redis(); 并且未正确安装扩展程序,这在技术上会阻止任何代码运行;如果我没记错的话。
  • 尝试在Apache下运行phpinfo()看看是否配置了Redis。
  • 我检查了 phpinfo() 并没有找到任何带有 Redis 信息的列表。
  • 如果 505 出现在浏览器中,则表示“不支持 HTTP 版本”

标签: php apache redis


【解决方案1】:
  1. 确保您安装了该扩展程序...
  2. 检查https://github.com/phpredis/phpredis
  3. 使用 Redis 桌面管理器之类的工具可以轻松验证您的 redis 是否正在运行,并且还可以查看里面的内容(如果您在本地主机上或允许通过远程访问)
  4. 阅读您的 apache 日志,应该在非 Windows 机器上的 /var/log/(httpd 或 apache)附近,他们应该有更详细的信息来说明您收到此错误的原因。

【讨论】:

    【解决方案2】:

    好的,很多可能是初学者的错误,但我想通了。我没有并且仍然没有启动脚本,所以我必须使用这个命令从树莓派终端启动 Redis 我假设每次重启后我都需要这样做:pi@raspberrypi:~ $ redis 服务器。 Redis官方页面上的快速入门指南给了我解决方案https://redis.io/topics/quickstart

    【讨论】:

    • 使用systemctl为你启动Redis...devdungeon.com/content/creating-systemd-service-files
    • 我必须调查一下。真的很好,从你的链接我的理解是我放在这里的任何东西:/etc/systemd/system 在启动时运行?
    • 您必须启用它,但是可以。这很简单。只要通读这篇文章,你就会明白。
    猜你喜欢
    • 1970-01-01
    • 2020-10-09
    • 2019-01-25
    • 2011-03-17
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多