我正在使用semrush,我有一个通知,这确实困扰着我并想摆脱. 1子域不支持子域的HST:Options -Indexes Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_USER_AGENT} ^(.+)$ RewriteCond %{SERVER_NAME} ^example\.com$ RewriteRule .* https://www.%{SERVER_NAME}%{REQUEST_URI} [R=301,L] Header add Strict-Transport-Security "max
以下是关于 amazon-web-services 的编程技术问答
我们有一个客户端在AWS上托管IIS Web服务器.当导航到该服务器上的特定PHP Web应用程序时,它的末端有斜线时起作用,但在缺失时不行. 这有效: 但是,如果要将其输入地址栏: https://example.com.au/application 它将其重定向到等效的HTTP地址,并在末端进行斜线: http://example.com.au/application/ http通过防火墙禁用,因此结果是错误. 这是Chrome调试器中的请求详细信息 所以我的问题是,我的客户需要检查什么以确保不会发生此重定向?或它不是将其重定向到HTTP,而是将其重定向到HTTPS? 附加信息: .NET Web应用程序似乎并未发生同样的问题.例如'https://example.com.au/dotnetapp'不会重定向到'http://example.com.au/dotnetapp/'. " URL重写"中没有任何规则 iis logs显示在触发
我需要使用Amazon的AWS SDK进行一些相当重的查询. 最有效的方法是使用 php的Multicurl .看来 Guzzle已经具有功能用于内置的多曲子. 使用AWS SDK提供的标准方法会自动使用多弹药,还是我必须直接指定其用法?例如.致电$sns->Publish() 30次. 谢谢! 解决方案 并行请求在SDK中与普通guzzle完全相同,并且确实利用了多额度.例如,您可以做这样的事情: $message = 'Hello, world!'; $publishCommands = array(); foreach ($topicArns as $topicArn) { $publishCommands[] = $sns->getCommand('Publish', array( 'TopicArn' => $topicArn, 'Message' => $message, )); } try {
我正在将AWS SDK用于PHP,并具有命令行工具,等待使用$this->rdsClient->waitUntilDBInstanceAvailable([ 'DBInstanceIdentifier' => 'test' ]); 是否有一种注册回调函数的方法,以便每次SDK Polls RDS,我的回调函数都被称为? 类似: $this->rdsClient->waitUntilDBInstanceAvailable([ 'DBInstanceIdentifier' => 'test', 'CallbackFunction' => function() { echo '.'; } ]); 这会给用户提供有关脚本仍在等待的事实,并且没有任意挂起的事实. 文档说: 输入阵列使用DiccitionBinstances操作和服务员特定设置的参数 ,但我找不到这些服务员特定设置是什么. 解决方案 有一
我想创建一个CRON作业,该作业将在数据库中定义时间运行. 对于Eg.user可以在数据库中设置启动时间和结束时间.到达结束时间时,我希望Cron触发一个脚本发送邮件.首先是Cron中的可能性,还是我必须采用某些不同的方法?这一切都将在AWS EBS上完成. 以下是我在本地机器上尝试的只是发送简单的邮件,这太基本 */1 * * * * /usr/bin/php -q/var/www/html/cronTry/cron.php 解决方案 您不想每分钟运行CRON,而是为用户创建一个特定的作业并运行一次.这样的事情应该有效(未经测试 - 在移动设备上) $your_users_date; $cmd = "sudo crontab -l | { cat; echo ". date("i H d m",strtotime($your_users_date))." * php /path_to_your_script.php arg1 arg2; } | crontab -";
我找到了它的文档 在这里我如何指定$ client $result = $client->createDatabase([ 'DatabaseName' => '', // REQUIRED 'KmsKeyId' => '', 'Tags' => [ [ 'Key' => '', // REQUIRED 'Value' => '', // REQUIRED ], // ... ], ]); 在我可以获得一些帮助的情况下,是否有有关PHP中的时间流的好文档或视频. 解决方案 有两个客户端类.一个用于写作,一个用于阅读. timeStreamWriteClient 和 timestreamqueryclient 您可以在$ SDK对象上使用函数createTim
我对使用Amazon MWS API有些熟悉,但我是Codeigniter和整个HMVC的新事物.我很好奇如何将API添加到CodeIgniter中.我是否必须将整个API剖析到适当的MVC文件夹中,还是可以将其添加为库.如果是后者,我将如何使用API? 如果这很含糊,我很抱歉,但是我非常感谢您愿意提供的任何帮助!谢谢 解决方案 我不能说特定于Codeigniter的陈旧,但是我已经与各种MVC库合作,因此我可以提供一般的概述.您的选择是: i)从头开始写一个模型 访问MWS的新代码主要最终进入"模型"空间.控制器和视图(您最终可能需要)超出了亚马逊提供的代码范围,因此无论如何都需要编写.就MVC(和OOP)的想法而言,这是这样做的"正确"方法,您可以充分利用继承和多态性. 优点:访问MWS的模型将遵循MVC框架的规则和准则.它将很容易集成到框架的其他部分,并与其他代码的其余部分完美地集成. 缺点:许多代码要写,并且(更重要的是,由于MWS是移动
这是一个n00b问题,但是我是一个比系统管理员好得多的开发人员. IM在EC2上设置了一个Amazon Linux实例,并且在安装MCRYPT时似乎无法获得PHP 5.5.每次我尝试进行组安装或作为McRypt的依赖性时,百胜似乎都会向我投掷5.3 php. 有什么建议吗?这是针对Laravel 4.1应用程序. 谢谢! 解决方案 如果您使用的是Amazon Linux,则需要安装以php55开始的PHP软件包. 保留了较旧的软件包以供兼容. 其他解决方案 由于开始配置EC2实例可能很棘手,而且在我写这个答案的日期,实际上没有太多可用的支持或文档,所以我会发布对我有用的步骤.因此,我希望它对其他人有用: 按照AWS文档中所述启动EC2实例.请勿使用Elastic Beanstalk部署PHP应用程序. 启动您的油腻的会话,它在AWS文档中得到很好的描述. putty会话开始时,按以下顺序安装:Apache Server(V 2.4),
使用AWS SDK连接到AWS SQS时,似乎有一个明显的延迟. 启动服务以消耗消息并不重要,因为第一个连接在第3-7秒延迟后,消息以良好的速度开始流动 - 但是,发布消息时,这是一个大问题.例如,由于与AWS的连接正在等待发布消息,因此用户Web请求需要额外的几秒钟才能完成.这打败了发送信息以将等待时间推迟到背景工作的目的. 这是DNS解决的问题吗?联网?还是AWS SQS设置?我的Web应用不在AWS网络中,不确定这是否是问题. 简单发布消息代码: $aws = \Aws\Common\Aws::factory(/* array with connection settings */); $client = $aws->get('Sqs'); $queue = $client->getQueueUrl(['QueueName' => $queue]); // This takes 3 - 5 seconds every time its called.
我有一个脚本,可以从同一类中调用两个函数A和B. A创建Amazon Virtual Server并通过Amazon命令行工具的shell_exec()s毁了一个.脚本,doactions.php从队列中取出动作.如果操作是"创建"的,则会创建一个实例;当动作"销毁"时,它会杀死一个. 当我从命令行执行时执行A和B的脚本很好地执行A和B. 当我将其放在Cron上时,它运行,但仅成功运行B函数.它删除了破坏实例,但不会创建它们. 失败点显然是功能B. echo $string = shell_exec('/home/user/public_html/domain.com/private/ec2-api-tools/bin/ec2-run-instances ami-23b6534a -k gsg-keypair -z us-east-1a'); 除非您了解亚马逊命令行的工作方式的特定内容,否则请向我建议Shell_Exec在一种情况下而不是另一种情况下可能工作的原因
我正试图解决一个非常琐碎的问题,但没有运气. 我想从PHP Web服务器上将文件上传到AWS S3后立即删除.以下是步骤: //Upload file to S3 using PHP SDK's S3Client::putObject method: $result = $s3_client->putObject( array( 'Bucket' => AWS_BUCKET_NAME, 'Key' => $file_name, 'SourceFile' => $file_path, 'Metadata' => array( 'metadata_field' => 'metadata_value' ) )); //Poll the object
,如果有人可以使用Zend Amazon Service Module(带有Zend 2.0)来指导我以正确的方式指导我. 这是我的尝试: $query = new ZendService\Amazon\Query($appId, 'UK', $secretKey); $query->Category('Books')->IdType('ISBN')->ItemID('978-0321784070')->AssociateTag($tag); $result = $query->ItemLookup(); 但是我得到以下错误: 缺少参数1 for ZendService \ Amazon \ Amazon :: ItemLookup(),在D:\ Wamp \ www \ stite \ controllers \ controllers \ dev.php中在第122行上调用并定义 未定义的变量:asin 我无法定义ASIN,因为
我正在亚马逊网络服务上托管的网站上构建标准联系表.我认为给我麻烦的部分如下: $to = "theCoolestGuy@gmail.com"; $name = trim($_POST['name']); $email = trim($_POST['email']); $message = trim($_POST['message']); $subject = "The best email subject of all time."; $message = "Name: $name \r\n Email: $email \r\n Message: $message"; $headers = "From:" . "veryCoolPerson@gmail.com"; $mailsent = mail($to, $subject, $message,
我正在尝试删除在Amazon S3中的存储桶中创建的文件夹,并给出了错误 发生了意外错误.请重试. 如何删除文件夹? 解决方案 首先,您需要了解没有什么 fold夹在Amazon S3 Bucket 中 您看到的是诸如文件夹 的对象 one/ // so what you see folder is this but its separate object one/abc.png one/tow/ one/tow/a.zip 要删除文件夹,您需要删除每个对象以one/启动,并且可以通过deleteMatchingObjects() function 做到这一点 $s3 = new Aws\S3\S3Client([ 'version' => 'latest', 'region' => 'us-west-2', 'credentials.ini' => [ 'k
我一直在尝试通过PDO将我的PHP应用程序连接到AWS RDS上的MySQL数据库.我在这里也看到了一个类似的问题:无法通过PDO连接到AWS RDS 这已经超过4年没有确定的答案. 我尝试了几种方法.首先,将主机名称为'在DSN字符串中明确传递端口 $dsn = $dsn = "mysql:host=" . $this->host . ";port=". $this->port . ";dbname=" . $this->name . ";charset=utf8"; (下面评论).两种工作! 代码段为: $dsn = null; $options = null; $this->host = SYSTEM_CONFIG["database"]["host"]; $this->type = SYSTEM_CONFIG["database"]["type"]; $this->name = SYSTEM_CO
我试图根据NotImplemented A header you provided implies functionality that is not implemented Transfer-Encoding 从文档中,似乎curl在无法确定内容长度时添加了此标头.我不知道是否可以将卷曲配置更改为跳过,包括传输编码标头,但尝试了以下内容: 将内容类型更改为Multipart 包括内容长度标头 删除内容类型标题 我仍然遇到相同的错误.我需要更改其他任何东西才能使它起作用吗? 解决方案 来自执行整个curl命令和参数可以回声吗? 其他解决方案 可能会发生此错误,当我们使用参数的格式时,当我不在节点JS中串起JSON主体时,我会遇到相同的错误.
我试图将对象存储在S3上,并为此取回我正在执行的操作 $key = 'myverykey'; $hash = hash_hmac('sha256',$key,true); $SSECustomerKey = substr($hash,0,32); $params = [ 'Bucket' => 'somebucketname', 'Key' => 'abc.png', 'Body' => "resource", 'ACL' => 'private', 'SSECustomerAlgorithm' => 'AES256', 'SSECustomerKey' => $SSECustomerKey, 'SSECustomerKeyMD5' => md5($SSECustomerKey, true), ]; s3->putObject($params);
我正在尝试在AWS中设置phpmailer.它返回错误,说 smtp connect()失败. 代码 isSMTP(); $mail->SMTPDebug =2; $mail->Debugoutput = 'html'; $mail->Host = 'smtp.gmail.com'; $mail->Port = 587; $mail->SMTPSecure = 'tls'; $mail->SMTPAuth = true; $mail->AuthType = 'XOAUTH2'; $mail->oauthUserEmail = "xxx@gmail.com"; $mail->oauthClientId = "client-key.apps.googleusercontent.com"; $mail->oauthClientSecret = "se