- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我在本地成功使用 SncRedisBundle,但无法使用 heroku。这是我的配置:
#config.yml
imports:
- { resource: heroku/parameters_heroku.php } #heroku cloud provider configuration's
snc_redis:
clients:
default:
type: predis
alias: default
dsn: "%redis_url%"
cache:
type: predis
alias: cache
dsn: "%redis_url%&database=1"
logging: false
session:
type: predis
alias: session
dsn: "%redis_url%&database=2"
task:
type: predis
alias: task
dsn: "%redis_url%&database=3"
doctrine:
type: predis
alias: doctrine
dsn: "%redis_url%&database=4"
session:
client: session
ttl: 10800 #le session expirera apres 3 heures
doctrine:
metadata_cache:
client: doctrine
entity_manager: default # the name of your entity_manager connection
document_manager: default # the name of your document_manager connection
result_cache:
client: doctrine
entity_manager: [default] # you may specify multiple entity_managers
query_cache:
client: doctrine
entity_manager: default
second_level_cache:
client: doctrine
entity_manager: default
monolog:
client: cache
key: monolog
swiftmailer:
client: default
key: swiftmailer
#heroku/parameters_heroku.php
<?php
$is_heroku = getenv("IS_HEROKU");//manually added : heroku config:set IS_HEROKU=1
if (!$is_heroku) {
return;
}
if ($redisUrl = getenv('REDIS_URL')) {
$aParsedRedisUrl = parse_url($redisUrl);
$redisConstructedDsn = 'redis://'.$aParsedRedisUrl['host'].':'.$aParsedRedisUrl['port'].$aParsedRedisUrl['path'].'?'.'password='.$aParsedRedisUrl['pass'].($aParsedRedisUrl['query'] ? '&'.$aParsedRedisUrl['query'] : ''); // le user ne sert pas : .'&user='.$aParsedRedisUrl['user']
$container->setParameter('redis_url', $redisConstructedDsn);
}
如果我在 heroku 构建过程中转储 $redisConstructedDsn
,我会得到类似的东西:redis://xxxxxx.compute-1.amazonaws.com:18839?password= foobar
,因此,它似乎与 predis doc 非常兼容但是 Composer 构造失败了
remote: [Predis\Response\ServerException] remote:
NOAUTH Authentication required.
我找不到我做错了什么
最佳答案
问题解决了:最初我使用了这种语法:dsn: "%redis_url%/3"
与 heroku 不兼容。当我将其更改为可接受的格式时:"%redis_url%?database=3"
,我在其他地方添加了错误,所以这里是 heroku/parameters_heroku.php
中的简单更正
if ($redisUrl = getenv('REDIS_URL')) {
$container->setParameter('redis_url', $redisUrl);
}
互联网上的一些资源会说 predis 与 heroku 的格式不兼容,但它们是旧的&错误的;)
关于php - SncRedisBundle (predis)-heroku : how to configure the DSN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41587686/
编辑 1 我尝试创建并使用系统 DSN。我按照下面类似的步骤进行了成功的连接尝试。然后我修改了连接字符串以引用这个新的 DSN。我收到错误指定的 DSN 包含驱动程序和应用程序之间的架构不匹配。 为了
编辑 1 我尝试创建和使用系统 DSN。我按照以下类似步骤进行了成功的连接尝试。然后我修改了我的连接字符串以引用这个新的 DSN。我收到错误消息The specified DSN contains a
有人可以帮我解决这个问题吗?我需要通过系统 DSN 检查我与 AS400 服务器的 ODBC 连接,如果不存在特定的系统 DSN,则创建一个系统 DSN。我试过谷歌搜索,但没能找到对我有好处的东西。
我正在托管环境中编写一个小型 ASP.NET 应用程序(这意味着我不拥有该服务器)。 使用托管提供商的 webtools,我创建了一个指定驱动程序、服务器、UID、PWD 和数据库的 DSN。当我测试
有一段时间,我一直在尝试让一个 visual basic 6 应用程序在 Windows 7 中运行。最后一个问题是它在启动时找不到 DSN。凭直觉,我删除了系统 DSN 并以完全相同的方式创建它,但
在 AX2012 中,我想建立一个到 SQL Server 2008R2 的 ODBC 数据库连接。为此,我构建了 32 位系统 DSN“SQL Server Native Client 10.0”(
我有一个 SQL 数据库,并希望使用 VBA 连接到它以支持某些旧功能。我正在使用 ADODB 连接并且需要知道我的数据库 DSN 是什么。我怎样才能找到这个? 我正在使用 SQL Server 20
我从System32加载odbccp32.dll,甚至尝试从SysWow64使用。我使用SQLConfigDataSource函数为指定的驱动程序配置系统DSN。此功能可以成功配置32位驱动程序,但对
所以我创建了以下 docker-compose.yml 文件 web: build: ./config/apache volumes: - ./code:/var/ww
我有一个使用链接的 sql server 表作为数据源的 Access 表单。我需要尽快将此文件分发给其他用户,并且我需要一种方法来以编程方式将 DSN 安装到他们的机器上。这是手动设置链接的过程:
当尝试配置 symfony Messenger 时总是出现错误 No transport supports the given Messenger DSN "doctrine://default".
下面是在 VBA 应用程序中填充列表框的代码: Private Sub Form_Open(Cancel As Integer) ''#Populate list box control. D
PHP PDO 使用这种风格: MySQL mysql:host=hostname;dbname=databasename 在各自单独的参数中使用用户名和密码 PostgreSQL pgsql:hos
我有一个 Excel 应用程序,我想在其中向用户显示数据源名称(即 DSN)的列表,以便她/他可以选择要使用的数据源。 希望一旦获得列表,我就可以轻松访问 DSN 属性以连接到适当的数据库。 请注意,
PHP PDO 使用这种风格: MySQL mysql:host=hostname;dbname=databasename 在各自单独的参数中使用用户名和密码 PostgreSQL pgsql:hos
PDO DSN 的官方文档页面尚未列出用户名或密码。这些键值对的正确名称是什么? 最佳答案 看起来文档还没有更新,但是this is the related change来自 PHP 的源存储库,说明
我们有一个 ASP.NET 网站,该网站使用我们希望能够使用连接字符串访问的数据库。我们已经成功设置了一个 DSN 来连接到该数据库,但我似乎无法发现连接字符串的正确魔力。 有没有一种简单的方法可以将
我正在尝试在运行时创建一个 ACCESS DB,并使用以下代码在 ODBC.ini 中注册为 DSN: BOOL fCreated; fCreated = SQLConfigDataSource(N
我遇到了这个错误: The specified DSN contains an architecture mismatch between the Driver and Application 尝试使
我第一次尝试在 PHP 中使用异常,但进展不太顺利。 我有一个名为dsn的变量,它包含PDO/MySQL的连接字符串。 当我在 dsn 上使用 var_dump 时,它返回“null”,因此我可以假设
我是一名优秀的程序员,十分优秀!