Articles of 亚马逊 EC2

Laravel:调用未定义的函数Symfony \ Component \ Console \ mb_convert_variables()?

我正在运行一个香草亚马逊EC2服务器。 我自己安装了PHP 5.5.21。 我的Web应用程序build立在Laravel上。 几个星期以来,一切工作都完美无瑕。 但是,现在运行Laravel命令来更新数据库模式时: PHP的工匠迁移 我得到以下错误: PHP致命错误:调用未定义的函数Symfony \ Component \ Console \ mb_convert_variables()在/var/www/mysite/vendor/symfony/console/Symfony/Component/Console/Application.php上线1154 奇怪的是,我没有做任何更新或安装任何包之间的工作时间,当它停止工作。 (至less我认为,我确认了我的历史。) 我不认为Laravel本身就是一个问题。 我的研究表明,mb_convert_variables应该是一个内置的PHP函数。 这里是错误的Application.php的1154行: mb_convert_variables($encoding, 'utf8', $lines); 这是在更大的背景下。 有趣的是mb_convert_encoding(…)似乎工作正常: private function splitStringByWidth($string, $width) { // str_split is not suitable for multi-byte characters, we should use preg_split to get char array properly. // additionally, array_slice() is not enough as some […]

问题G-WAN和Amazon EC2

我以为我的错误是启动G-WAN的问题 但今天,我做了更多的testing,我真正的问题是这样的: 当我启动一个types为micro的实例时,G-WAN可以正常工作,但是如果我使用小型,中型等types启动相同的实例,则G-WAN会爆炸! 它显示了之前的post的错误。 这是G-wan和Amazon EC2之间的一个可能的错误? 有谁知道解决scheme? 感谢所有!

ssh从php访问ec2

从本地ubuntu linux机器通过ssh连接ec2机器访问。 当我从terminal运行这个PHP脚本它执行得很好,并在文件中写入尾部的条目。 当我从浏览器运行得到这个错误在Apache错误日志 ssh:无法parsing主机名称proxy2:名称或服务未知 发现它由于Apache用户权限问题。 不pipe我的猜测是对还是错,我都不确定。 任何人都可以帮助我解决这个问题。 php代码: – <?php $ss = 'ssh proxy2 '.'tail -n 3 /out/speed_log.txt.1'.' > proxy2temp1'; system($ss); ?>

亚马逊linux – 安装openjdk-debuginfo?

我试图在amazon linux上使用ec2实例上的jstack 。 所以我安装了openjdk-devel软件包。 sudo yum install java-1.7.0-openjdk-devel.x86_64 但是jstack引发了exceptionjava.lang.reflect.InvocationTargetException 。 sudo -u tomcat jstack -J-d64 -m 941 谷歌会议15分钟后,我发现一些qna说安装openjdk-debuginfo软件包可能会有所帮助。 但是我怎样才能安装openjdk-debuginfo ? 这不是在yum search 。

无法从Windows GUI工具连接到远程Linux服务器上的MySql数据库

我已经在亚马逊的EC2上的Linux服务器上设置了一个MySQL数据库。 这在当地运作良好。 我可以login到Linux机器并pipe理mysql数据库 我试图连接我的本地GUI客户端到远程MySQL,它是无法连接。 我更新了/etc/mysql/my.cnf文件并更改了以下内容: skip-networking bind-address = 0.0.0.0 我仍然无法连接。 有什么想法吗? 编辑 :我第一次尝试绑定地址= 0.0.0.0,然后我添加跳过networking与绑定地址 编辑#2 :我确保安全组在3306上打开。我也打开其他端口的工作,所以我不认为它是一个亚马逊的具体问题

如何在Amazon Linux AMI上设置cron作业

我正在托pipeTiny Tiny RSS网站 亚马逊Linux AMI 要自动更新Feed,我必须运行以下cron作业。 参考http://tt-rss.org/redmine/projects/tt-rss/wiki/UpdatingFeeds * / 30 * * * * / usr / bin / php /var/www/html/tt-rss/update.php –feeds –quiet 这是我做的一步: sudo su CD /等 crontab -e 添加这行* / 30 * * * * / usr / bin / php /var/www/html/tt-rss/update.php –feeds –quiet 但是我仍然收到消息“更新守护进程没有运行”。 我是否知道这是cron工作的正确步骤? 我的第一个设置。 谢谢,Alex

在Amazon Linux上安装Tkinter

我正在使用Amazon Linux ec2机器。 当我尝试在virtualenv中运行Python脚本时,我收到以下消息: File "/home/sp/Envs/crispor/local/lib/python2.7/dist-packages/matplotlib/externals/six.py", line 80, in _import_module __import__(name) ImportError: No module named Tkinter 据我所知,Tkinter应该是Python安装的一部分。 但不知何故,事实并非如此。 这些不起作用 – sudo yum install python-tk sudo yum install tkinter 我如何安装Tkinter? 或者我应该这样做,应该已经是Python安装的一部分了吗?

PHP is_writable()函数对于可写目录总是返回false

我正在尝试在使用yum安装Apache 2.4.6和PHP 5.4.16的Red Hat 7 Amazon EC2实例(ami-8cff51fb)中安装基于PHP的软件包。 安装失败,因为它表示一个特定的目录需要由具有0755或0775权限的Web服务器写入。 有问题的目录具有root:apache权限的0775权限root:apache所有权。 我已经validation了httpd进程正在由apache用户运行,并且apache用户是apache组的成员。 如果我编辑/etc/passwd临时给apache用户一个loginshell然后su到那个帐户,我可以使用touch命令在目录内以apache用户的方式手动创build文件。 我查看了安装程序脚本的源代码,发现它失败了,因为PHP的is_writable()函数正在为有问题的目录返回false。 我创build了一个单独的testingPHP脚本来隔离和validation我看到的行为: <?php $dir = '/var/www/html/limesurvey/tmp'; if (is_writable($dir)) { echo $dir, ' is writable'; } else { echo $dir, ' is NOT writable'; } ?> 这将输出NOT可写消息。 如果我将$dir改为/tmp那么它正确地输出那个/tmp是可写的。 如果我将目录权限更改为0777和/或将所有权更改为apache:apache则PHP仍然报告该目录不可写。 我甚至尝试创build一个具有相同权限和所有权的/test目录,我的testing脚本仍然报告它不可写。 我真的无法解释这种行为,所以任何想法都会受到欢迎! 提前致谢。 下面给出了/var/www/html/limesurvey的目录列表。 根据Lime Survey的安装说明 , tmp和upload目录拥有0775权限。 test.php是我上面提到的testing脚本。 [ec2-user@ip-xx-xx-xxx limesurvey]$ pwd /var/www/html/limesurvey [ec2-user@ip-xx-xx-xxx limesurvey]$ ls […]

如何将支持MP3的SoX二进制文件与AWS的Linux AMI的局限性一起打包到NodeJS AWS Lambda函数中?

我在过去3个月里一直在处理这个问题,而且完全陷入困境。 我正在尝试打包使用SoX的NodeJS AWS Lambda函数,并将其依赖项转换为MP3文件。 我可以通过按照这里引用的指令来获取我的代码来识别SoX二进制文件的自定义位置。 我最终将此代码添加到我的Lambda函数调用的开始,以更新process.env PATHvariables以包括自定义二进制文件的path。 process.env['PATH'] = process.env['PATH'] + ':' + path.join(process.env['LAMBDA_TASK_ROOT'], 'binaries'); 这导致我的process.env PATH更新如下所示: /usr/local/lib64/node-v4.3.x/bin:/usr/local/bin:/usr/bin/:/bin:/var/task/binaries 这看起来是正确的, binaries是包含我编译的sox二进制binaries的目录。 由于我使用的是NodeJS,因此我必须修改sox-audio NPM模块,以便使用更新后的process.envvariables来执行child_process exec和spawn调用。 这允许代码find二进制文件,但在执行过程中仍然出现错误。 Sox process exited with code 127 and signal null 我明白,虽然它可以find我包含的SoX二进制文件,但它不能find一个与SoX一起使用的命令,但没有更多的信息,我不知道它是什么。 我想这是因为我不确定是否有包含二进制文件的所有文件。 为了在支持MP3的情况下编写一个完整的SoX编译版本,我创build了一个新的EC2 linux实例,然后按照这里提供的说明进行操作。 我一行一行地确保我可以得到它的工作,并安装了一些依赖项以启用编译(如开发人员工具 ),并通过导出export PATH=$PATH:/usr/local/bin导出构buildPATH能够得到与MP3支持安装的完整版本。 我testing了它,它的工作方式就像我需要它。 由于AWS Lambda函数与AWS EC2实例在Linux(Amazon Linux AMI)的相同精简版上运行,理论上,如果我可以导出SoX构build并将其包含在我的Lambda包中,那么我应该能够使其工作。 那是我遇到麻烦的地方。 什么构成了自己? /usr/local/bin有一个SoX linux可执行文件,它是一个单独的文件,但是其中还有许多文件,这些文件似乎都与使SoX及其依赖项相关。 这里是我正在构build的/usr/local/bin中的文件列表。 我尝试通过FTP导出所有这些文件,然后将它们导入到另一个干净的EC2实例中,但即使在运行export PATH=$PATH:/usr/local/bin由于依赖性问题,SoX将无法运行。 很明显,仅仅导出这些文件是不够的。 我如何导出以及导出哪些内容,从而将我的SoX构build与支持MP3的EC2实例关联起来,并将其包含在我的AWS […]

BASH – 如何获得EOF标签内的variables值?

我有这个脚本,但我需要得到$variables值工作在每个块以EOF开始,EOF结束。 它不读取variables值,但把$我 /var/tmp/vpn.sh我有: #!/bin/bash amazonEth0="10.0.0.18" amazonWan0="4.9.2.9" vpnServer="4.8.8.6" hosttoHost1="10.109.0.20/32" hosttoHost2="10.109.0.21/32" hosttoHost3="10.109.58.6/32" hosttoHost4="10.109.59.3/32" for i in 1 2 3 4 do cat > /tmp/test$i.conf << \EOF #Step 3 conn test"$i" #auto=start type=tunnel authby=secret pfs=no aggrmode=no ikelifetime=28800s lifetime=3600s ike=aes128-md5;modp1024! phase2alg=aes128-md5;modp1024 forceencaps=yes left=$amazonLan0 leftid=$amazonWan0 leftsourceip=$amazonWan0 right=$vpnServer rightsubnet=$hosttoHost$i EOF done ### Run me cat > /var/tmp/vpn.sh << \EOF service ipsec […]