我正在使用一个两次调用同一个类并抛出错误的脚本:
Fatal: Cannot redeclare class urlConverter (/var/www/core/cache/includes/elements/modsnippet/23.include.cache.php:14)
Run Code Online (Sandbox Code Playgroud)
我尝试将以下代码放入:
if( !class_exists( 'urlConverter', false ) )
{
$urlConverter = new urlConverter( $modx );
}
Run Code Online (Sandbox Code Playgroud)
但是,我正在使用的CMS正在报告错误500并且无法在日志中看到它为什么会抛出该错误.
有谁知道如何检查该类是否已被正确声明?
编辑:
我正在使用CMS,因此Class被放在一个Snippet而不是实际文件中.这就是他们称之为片段的方式:
$data['viewonlinelink'] = $this->modx->runSnippet( 'urlConverter', array(
'action' => 'encrypt',
'string' => http_build_query( $string ) ) );
Run Code Online (Sandbox Code Playgroud)
我需要第二次打电话来获得不同的结果.
EDIT2:
这是urlConverter:
<?php
class urlConverter {
public $modx;
public function __construct( modX &$modx )
{
$this->modx =& $modx;
}
public function action( $scriptProperties )
{
return $this->$scriptProperties['action']( $scriptProperties['string'] );
}
private function encrypt( $str )
{
return $str; …Run Code Online (Sandbox Code Playgroud) 我正在使用MySQL中的伪会话表.该表目前看起来像这样:
id | key | value | metadata
Run Code Online (Sandbox Code Playgroud)
id是会话所属的用户,元数据是用户的IP地址.这背后的想法是每个用户可以从不同的IP地址多次登录.我想知道是否REPLACE INTO可以只替换id = userid,key = key,AND metadata = ip_address的值,所以理想情况下我们最终会得到这样的结果:
id | key | value | metadata
1 test avalue 127001
1 test bvalue 19216801
1 test cvalue 19215810
Run Code Online (Sandbox Code Playgroud)
有可能吗?
我有两个相关的问题,我不想为这两个问题打开一个新的主题:
给出以下代码:
1 type Request struct {
2 Values map[string]interface{}
3 }
4
5 func (r Request) Send() {
6 client := &http.Client{}
7 resp, _ := http.Post("http://example.com", "text/json", &r.Values)
8 }
Run Code Online (Sandbox Code Playgroud)
我们的想法是能够未知量的一个块发送key => value,key => key => value等我们的API端点.
问题1:
我该如何分配Request.Values?我们可能需要使用的示例用例如下(请原谅PHP代码,我们正在转换):
'name' => [ $first, $last ],
'address' => [ 'city' => 'city', 'state' => 'state' ],
'country' => 'US'
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我们有key => value,key => [ values ]和key => [ …
我现在已经尝试了几个小时将我们的Magento安装从dev转移到live.我发现网上有多个链接,说要移动Magento安装,你需要/app/etc/local.xml用新的MySQL凭据编辑和更新它,然后删除内容/var/cache/(有些甚至建议删除整个/var文件夹.我也删除了内容/var/session/.我们的服务器没有缓存(没有memcached,varnish等).我甚至重新启动了apache,看看我是否可以刷新任何可能正在运行的缓存.
所以问题是我们的Magento安装仍然试图以某种方式连接到旧数据库.我们收到此错误:
SQLSTATE[28000] [1045] Access denied for user 'oldDBUsername'@'localhost' (using password: YES)
Run Code Online (Sandbox Code Playgroud)
如果有人对如何解决这个问题有任何想法,我还没有提到过,我将不胜感激.
编辑:
这是Magento还报告的堆栈跟踪:
Trace:
#0 fileroot/lib/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect()
#1 fileroot/lib/Varien/Db/Adapter/Pdo/Mysql.php(300): Zend_Db_Adapter_Pdo_Mysql->_connect()
#2 fileroot/lib/Zend/Db/Adapter/Abstract.php(459): Varien_Db_Adapter_Pdo_Mysql->_connect()
#3 fileroot/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SET NAMES utf8', Array)
#4 fileroot/lib/Varien/Db/Adapter/Pdo/Mysql.php(389): Zend_Db_Adapter_Pdo_Abstract->query('SET NAMES utf8', Array)
#5 fileroot/app/code/core/Mage/Core/Model/Resource.php(169): Varien_Db_Adapter_Pdo_Mysql->query('SET NAMES utf8')
#6 fileroot/app/code/core/Mage/Core/Model/Resource.php(110): Mage_Core_Model_Resource->_newConnection('pdo_mysql', Object(Mage_Core_Model_Config_Element))
#7 fileroot/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(320): Mage_Core_Model_Resource->getConnection('core_read')
#8 fileroot/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(335): Mage_Core_Model_Resource_Db_Abstract->_getConnection('read')
#9 fileroot/app/code/core/Mage/Core/Model/Resource/Cache.php(53): Mage_Core_Model_Resource_Db_Abstract->_getReadAdapter()
#10 fileroot/app/code/core/Mage/Core/Model/Cache.php(449): Mage_Core_Model_Resource_Cache->getAllOptions()
#11 fileroot/app/code/core/Mage/Core/Model/Cache.php(491): Mage_Core_Model_Cache->_initOptions()
#12 fileroot/app/code/core/Mage/Core/Model/App.php(1175): Mage_Core_Model_Cache->canUse('config')
#13 fileroot/app/code/core/Mage/Core/Model/Config.php(414): Mage_Core_Model_App->useCache('config')
#14 fileroot/app/code/core/Mage/Core/Model/Config.php(294): Mage_Core_Model_Config->_canUseCacheForInit()
#15 fileroot/app/code/core/Mage/Core/Model/App.php(408): …Run Code Online (Sandbox Code Playgroud) 我在另一个答案中找到了以下Javascript函数:
function createUUID() {
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = "4";
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
s[8] = s[13] = s[18] = s[23] = "-";
var uuid = s.join("");
return uuid;
}
Run Code Online (Sandbox Code Playgroud)
这在javascript中创建了一个RFC有效的UUID/GUID.我想知道的是,如果有一种方法在它到达PHP端时验证字符串.我发现了一个正则表达式可能会将所有大致格式化为真的:
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/
但只要你指定一个长度和格式相同的字符串就可以使用它,它会通过验证.
有没有办法在javascript函数中添加某种种子,然后在PHP中验证或者PHP是否有办法验证传递的数字是否与正确的格式匹配?
任何帮助是极大的赞赏.
我正在尝试使用YUI Compressor将所有javascripts缩小并放入单个文件中.
我正在使用这个javascript文件:https://github.com/mmonteleone/jquery.autotype/blob/master/jquery.autotype.js
我显然有本地副本.但是当我通过YUI Compressor运行该特定文件时,我收到以下错误:
[INFO] Using charset UTF-8
[ERROR] 20:32:missing formal parameter
[ERROR] 21:32:missing formal parameter
[ERROR] 21:71:syntax error
[ERROR] 22:30:syntax error
[ERROR] 25:13:syntax error
[ERROR] 26:22:syntax error
[ERROR] 27:36:identifier is a reserved word
[ERROR] 28:13:syntax error
[ERROR] 29:21:syntax error
[ERROR] 53:29:invalid property id
[ERROR] 53:30:syntax error
[ERROR] 54:30:syntax error
[ERROR] 55:22:syntax error
[ERROR] 62:29:invalid property id
[ERROR] 62:30:syntax error
[ERROR] 63:30:syntax error
[ERROR] 64:22:syntax error
[ERROR] 106:33:invalid property id
[ERROR] 106:34:syntax error
[ERROR] 107:34:syntax error …Run Code Online (Sandbox Code Playgroud) 基本上我的问题就是这样:将www.subdomain.example.com重定向到subdomain.example.com
我们为所有用户提供了一个myusername.ourdomain.com链接,问题是当有人试图访问www.myusername.ourdomain.com我们的通配符ssl时会被破坏,并且服务器通常会抛出错误.
所以我提供的链接中的答案显示了如何重定向单个www.apachedefined.mydomain.com我想知道如何使用相同的逻辑www.thiscanbeanything.mydomain.com.
任何帮助是极大的赞赏.
我正在尝试为New Relic自动化安装脚本,在我的bash文件中,我有以下内容:
_APPNAME="Test Application"
_OLD=";newrelic.appname = \"PHP Application\""
_NEW="newrelic.appname = \"${_APPNAME}\""
sed -i 's/$_OLD/$_NEW/g' /etc/php.d/newrelic.ini
Run Code Online (Sandbox Code Playgroud)
由于某种原因,sed命令根本没有触发,任何人都可以看到这个逻辑有什么问题吗?
注意我也曾尝试${_OLD}和${_NEW}无济于事.
这是我正在尝试做的一个非常淡化的版本,但请帮助我以下场景:
PackageA.go
package A
import "B"
type TestStruct struct {
Atest string
}
func Test() {
test := TestStruct{"Hello World"}
B.Test(test)
}
Run Code Online (Sandbox Code Playgroud)
PackageB.go
package B
import "fmt"
func Test(test TestStruct) {
fmt.Println(test.Atest)
}
Run Code Online (Sandbox Code Playgroud)
undefined: test当它击中包B时失败
基本上我遇到的问题是将结构从一个包传递到另一个包,或者甚至传递作为指向其他结构或函数的指针的变量.
任何指针都会非常有用.
我试图让Go程序执行一个添加几个注册表值的vbscript.处理此问题的Go代码如下:
err = exec.Command("cmd.exe", "/c", "registry.vbs").Run()
if err != nil {
fmt.Printf("Error: %s\n", err.Error())
}
Run Code Online (Sandbox Code Playgroud)
当我运行我的Go程序并且它到达执行此vbscript的部分时,绝对没有任何反应.注册表值不会更改,也不会出现错误.如果我尝试运行以下命令它可以正常工作:
cmd.exe /c C:\path\to\file\registry.vbs
Run Code Online (Sandbox Code Playgroud)
我尝试过的事情:
.Output()而不是,.Run()这导致输出等于[ ]有人知道为什么会这样吗?
任何方向将不胜感激.
我试图在Silverlight/C#中找到一种让DispatchTimer只运行一次的方法.
我有一个用户表单,当提交时我想显示一条消息10秒然后消失并杀死DispatchTimer线程.
我知道如何制作一个重复的DispatchTimer:
clock.Interval = TimeSpan.FromSeconds(10);
clock.Tick += clockTick;
clock.Start();
Run Code Online (Sandbox Code Playgroud)
但我希望该线程一完成就结束.
所以在JW Player之后我可以加载一个视频(很明显)它看起来像这样:
<script type="text/javascript" src="/scripts/jwplayer.js"></script>
<div id="myElement">Loading the player ...</div>
<script type="text/javascript">
jwplayer("myElement").setup({
file: "/uploads/example.mp4",
height: 360,
image: "/uploads/example.jpg",
width: 640
});
</script>
Run Code Online (Sandbox Code Playgroud)
我试图完成这样的事情,一旦模态被触发(使用jQuery),在视频内加载一个视频:
$("body").on('click', '[data-toggle=modal]', function(e){
var vid = $(this).attr('data-video');
jwplayer("videoElement").setup({ file: vid, width: 540 });
jwplayer("videoElement").play();
});
Run Code Online (Sandbox Code Playgroud)
但是我收到错误: Uncaught TypeError: Cannot call method 'setup' of null
我尝试了以下其他(可能是可怕的)想法:
$("#videoElement").jwplayer.setup({ file: vid, width: 540 });
Run Code Online (Sandbox Code Playgroud)
和
var $jwplayer = jwplayer();
$("body").on('click', '[data-toggle=modal]', function(e){
$jwplayer("videoElement").setup({ file: vid, width: 540 });
}
Run Code Online (Sandbox Code Playgroud)
然而,所有产生相同的结果 Cannot call method 'setup' of null
任何指针都将非常感激.