我获得了一个 Amazon EC2 Ubuntu 实例。我们的任务是创建一个包含上传客户端视频的 Web 应用程序。我在我的本地主机上创建了一个文件上传应用程序,它工作正常。当我将代码迁移到虚拟主机服务器时,我无法上传任何视频,甚至无法上传任何超过 2Mb 的文件。我尝试编辑 php.ini,将 upload_max_filesize 设置为 50M 并将 post_max_size 设置为 1000M。
在多次重启 Apache 之后,更新没有反射(reflect)在我的 phpinfo() 信息中,但更改保存在我的 php.ini 文件中。
我怀疑给我的 Amazon EC2 实例有文件上传限制,但我不确定我是否正确。如果我错了,我该如何覆盖下面的配置?非常感谢任何帮助。
更新:
我什至确定我正在编辑正确的配置文件。以下是屏幕截图:
更新:
我尝试按照 link 中的说明进行操作没有运气。我对链接有很多疑问,例如:
S3 存储桶 意味着什么?我在 /var/www/html/.ebextensions 中上传了配置文件。我在做正确的事吗?我的 zzz.ini 包含下面的代码,我把它放在 /etc/php.d/zzz.ini 中:
[php]
post_max_size = 1000M
upload_max_filesize = 50M
我的 myconfigfile.config 位于 /var/www/html/.ebextensions/myconfigfile.config 并包含以下代码:
files:
"/etc/php.ini":
mode: "000644"
owner: root
group: root
source: http://mybucketname.s3.amazonaws.com/php.ini
"/etc/php.d/zzz.ini":
mode: "000644"
owner: root
group: root
source: http://mybucketname.s3.amazonaws.com/zzz.ini
如何知道我的实例的存储桶名称?
我还将我的 php.ini 从 /etc/php/7.0/apache2/php.ini 复制到 /etc/php.ini 并重新启动了 Apache。仍然没有变化。我做的对吗?
更新:
我向给我 EC2 实例的人询问存储桶名称,她的回答是。
Yes, you were given access to an EC2 instance. S3 is a different service provided by Amazon and that's not automatically available to EC2 instances. We can create a bucket in S3 for you but it may no longer be needed.
The EC2 instance has around 8GB storage space. You should be able to store multiple videos greater than 2MB in the EC2 file system and access them directly.
Using S3 for file uploads is a good idea especially when your software goes to production. However, to simplify the setup, please use the file system instead to store the videos.
更新:
运行以下命令:
php -i | grep -i max_size
产量:post_max_size => 1000M => 1000M
grep -ir "max_size" /etc/php/7.0/apache2/conf.d/
什么都没做。
grep -ir "max_size" /etc/php/7.0/
产量
/etc/php/7.0/fpm/php.ini:post_max_size = 1000M
/etc/php/7.0/apache2/php.ini:post_max_size = 1000M
/etc/php/7.0/cli/php.ini:post_max_size = 1000M
我的 phpinfo() 可以通过这个 link 访问
最佳答案
更改 php.ini 文件后,我还必须重新启动 FPM:
sudo systemctl restart php-fpm.service
在重新启动 apache 之前:
sudo systemctl restart httpd
关于php - Amazon EC2 Ubuntu 实例最大文件上传大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50503190/
我正在查看instance_variable_set的文档并看到给出的示例代码是这样做的:obj.instance_variable_set(:@instnc_var,"valuefortheinstancevariable")然后允许您在类的任何实例方法中以@instnc_var的形式访问该变量。我想知道为什么在@instnc_var之前需要一个冒号:。冒号有什么作用? 最佳答案 我的第一直觉是告诉你不要使用instance_variable_set除非你真的知道你用它做什么。它本质上是一种元编程工具或绕过实例变量可见性的黑客攻击
在我的应用程序中,我需要能够找到所有数字子字符串,然后扫描每个子字符串,找到第一个匹配范围(例如5到15之间)的子字符串,并将该实例替换为另一个字符串“X”。我的测试字符串s="1foo100bar10gee1"我的初始模式是1个或多个数字的任何字符串,例如,re=Regexp.new(/\d+/)matches=s.scan(re)给出["1","100","10","1"]如果我想用“X”替换第N个匹配项,并且只替换第N个匹配项,我该怎么做?例如,如果我想替换第三个匹配项“10”(匹配项[2]),我不能只说s[matches[2]]="X"因为它做了两次替换“1fooX0barXg
我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的
我有一个正在构建的应用程序,我需要一个模型来创建另一个模型的实例。我希望每辆车都有4个轮胎。汽车模型classCar轮胎模型classTire但是,在make_tires内部有一个错误,如果我为Tire尝试它,则没有用于创建或新建的activerecord方法。当我检查轮胎时,它没有这些方法。我该如何补救?错误是这样的:未定义的方法'create'forActiveRecord::AttributeMethods::Serialization::Tire::Module我测试了两个环境:测试和开发,它们都因相同的错误而失败。 最佳答案
我正在处理旧代码的一部分。beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)endRubocop错误如下:Avoidstubbingusing'allow_any_instance_of'我读到了RuboCop::RSpec:AnyInstance我试着像下面那样改变它。由此beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)end对此:let(:sport_
我试过重新启动apache,缓存的页面仍然出现,所以一定有一个文件夹在某个地方。我没有“公共(public)/缓存”,那么我还应该查看哪些其他地方?是否有一个URL标志也可以触发此效果? 最佳答案 您需要触摸一个文件才能清除phusion,例如:touch/webapps/mycook/tmp/restart.txt参见docs 关于ruby-如何在Ubuntu中清除RubyPhusionPassenger的缓存?,我们在StackOverflow上找到一个类似的问题:
我有带有Logo图像的公司模型has_attached_file:logo我用他们的Logo创建了许多公司。现在,我需要添加新样式has_attached_file:logo,:styles=>{:small=>"30x15>",:medium=>"155x85>"}我是否应该重新上传所有旧数据以重新生成新样式?我不这么认为……或者有什么rake任务可以重新生成样式吗? 最佳答案 参见Thumbnail-Generation.如果rake任务不适合你,你应该能够在控制台中使用一个片段来调用重新处理!关于相关公司
我收到格式为的回复#我需要将其转换为哈希值(针对活跃商家)。目前我正在遍历变量并执行此操作:response.instance_variables.eachdo|r|my_hash.merge!(r.to_s.delete("@").intern=>response.instance_eval(r.to_s.delete("@")))end这有效,它将生成{:first="charlie",:last=>"kelly"},但它似乎有点hacky和不稳定。有更好的方法吗?编辑:我刚刚意识到我可以使用instance_variable_get作为该等式的第二部分,但这仍然是主要问题。
我在Rails应用程序中使用CarrierWave/Fog将视频上传到AmazonS3。有没有办法判断上传的进度,让我可以显示上传进度如何? 最佳答案 CarrierWave和Fog本身没有这种功能;你需要一个前端uploader来显示进度。当我不得不解决这个问题时,我使用了jQueryfileupload因为我的堆栈中已经有jQuery。甚至还有apostonCarrierWaveintegration因此您只需按照那里的说明操作即可获得适用于您的应用的进度条。 关于ruby-on-r
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m