Php
如何在 RHEL/CentOS 上的 redis 中創建 PHP 儲存會話?
通過 webtatic repo 進行一些執行 RHEL 7.2 和 PHP5.6 的開發和暫存 VM。
讓 Apache w/PHP 和 Node.js 執行良好。讓 redis 守護程序執行良好。
還沒有找到讓 PHP 在 redis 中儲存會話的最佳實踐。我看到對 phpredis 的引用,但看起來它需要從原始碼建構?……預兆?…不是通過 yum 的 RPM?
- php-nrk-Predis?
- php-pecl-返回?
- 或者只是編輯php.ini raw?
- 以上的一些組合?
終極目標:讓 Apache/PHP 和 Node.js 在同一個開發實例的 redis 中共享會話
由於 RHEL/CentOS 7.2 沒有直接的 PHP 5.6 支持,所以現在使用 webtatic repo(無論好壞)……這似乎可以解決問題。
# yum install redis # yum install php56w-pecl-redis # diff /etc/httpd/conf.d/php.conf 23,25c23,28 < php_value session.save_handler "files" < php_value session.save_path "/var/lib/php/session" < php_value soap.wsdl_cache_dir "/var/lib/php/wsdlcache" --- > # p_value session.save_handler "files" > php_value session.save_handler "redis" > # p_value session.save_path "/lib/php/session" > php_value session.save_path "tcp://127.0.0.1:6379" > # p_value soap.wsdl_cache_dir "/var/lib/php/wsdlcache" > php_value soap.wsdl_cache_dir "tcp://127.0.0.1:6379" # systemctl restart redis # systemctl restart httpd
確保正確的 PHP 覆蓋指令處於活動狀態非常重要,因為 /etc/php.ini 沒有啟動它,/etc/httpd/conf.d/php.ini 啟動了它。通過呼叫 phpinfo() 瀏覽 test.php 文件;很有幫助。
你真的只有一個選擇。
nrk/Predis 是一個 PHP 類,它允許您編寫可以讀取和寫入 Redis 對象的程序。這不是您在這裡尋找的(儘管您可能會發現它在其他地方很有用)。
phpredis/phpredis 和 php-pecl-redis 完全一樣。這就是你要找的;它允許 PHP 在 redis 中儲存會話。請記住,您必須編輯 php.ini 或包含的文件以指定將會話儲存在 redis 中並提供連接資訊。
(並且由於您對最佳實踐感興趣,請注意使用 webtatic不是其中之一。在大多數情況下,您應該從 remi 的儲存庫獲取 PHP)。