我正在使用Laravel 5.1
我最近在共享主机上传了我的项目.但当我浏览http://siteAddress.com/local/.env我的.env文件是可见的.
有没有办法隐藏此文件或重定向人员,如果他们想要浏览具有文件夹视图的网站?
我正在接管一个旧的Rails应用程序.一年没人接触过它.最后一位开发者在2015年4月离职,我无法联系他.我确实有ssh访问服务器,我可以访问Github仓库.
我不知道任何用户名/密码.
如果我ssh到服务器并且我捕获了database.yml文件,我会看到类似的东西:
staging:
adapter: mysql2
encoding: utf8
pool: 5
socket: /var/lib/mysql/mysql.sock
database: o_wawa_stage
username: wawa_stage
password: <%= ENV['STAGE_DATABASE_PASSWORD'] %>
host: access.dmedia.com
Run Code Online (Sandbox Code Playgroud)
如果我运行"printenv"命令,那么我没有看到任何这些变量.我假设它们只是由Rails环境加载.
我想我可以编辑模板,用一堆"put"语句吐出值,但我认为必须有一个更明显的方法来做到这一点,除了打印公众可以看到的数据?
如果我尝试运行"rails console",我会得到:
Rails Error: Unable to access log file. Please ensure that /var/www/haha/production/releases/20150118213616/log/development.log exists and is writable (ie, make it writable for user and group: chmod 0664 /var/www/haha/production/releases/20150118213616/log/development.log). The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
Run Code Online (Sandbox Code Playgroud)
我在这个盒子上没有sudo,所以我无法解决这个错误.
我不能%ENV在我的Perl脚本上使用var来使用Oracle库.
BEGIN {
$ORACLE_HOME = "/usr/lib/oracle/10.2.0.3/client64";
$LD_LIBRARY_PATH = "$ORACLE_HOME/lib";
$ORACLE_SID="prod";
$ENV{ORACLE_SID}=$ORACLE_SID;
$ENV{ORACLE_HOME}= $ORACLE_HOME;
$ENV{LD_LIBRARY_PATH}= $LD_LIBRARY_PATH;
};
Run Code Online (Sandbox Code Playgroud)
如果我打印$ENV{'ORACLE_HOME'},$ENV{'LD_LIBRARY_PATH'}一切似乎没问题但是,当我运行我的脚本时,我有错误:
install_driver(Oracle)失败:无法为模块DBD加载'/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so':: Oracle:libclntsh.so.10.1:无法打开共享对象文件:否这样的文件或目录位于/usr/lib64/perl5/DynaLoader.pm第200行.(eval 3)第3行编译在(eval 3)第3行的require中失败.也许在预期的地方没有安装所需的共享库或dll在persistence.perl第22行
在网上搜索我发现在Perl上设置env变量的正确方法是使用%ENVhash.
导出ORACLE_HOME并LD_LIBRARY_PATH通过unix shell(export LD_LIBRARY_PATH=...)它可以正常工作.有什么建议?
我想知道是否还有获得声明变量的环境.假设我已经向环境声明了一个变量,并希望使用该变量的环境来声明更多变量.类似于getEnv("变量")
我有一个 .env包含一堆变量文件,但我遇到了一个错误。
其中一个变量有空格。
TEST="hello world"
Run Code Online (Sandbox Code Playgroud)
所以当我运行这个时,在这个答案中了解到。
env $(<.env)
Run Code Online (Sandbox Code Playgroud)
我收到这个错误。
env: world"': No such file or directory
Run Code Online (Sandbox Code Playgroud)
如何在 .env 中设置带有空格的变量?
我需要在.env文件上设置一个字符串数组,并且无法找到有关正确语法的信息.测试需要一段时间,所以我想节省一些时间.其中一些选项应该有效:
MY_ARRAY=[first_string, second_string]
MY_ARRAY=[first_string second_string]
MY_ARRAY=['first_string', 'second_string']
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我吗?
提前致谢.
我只是从Ruby/Rails开发转向Python/Django,我正在努力寻找RVM/Bundler/Capistrano的最佳替代品,但它似乎总是一团糟?
到目前为止我找到了这些:
envwrapper
果仁
对于capistrano,我发现Fabric似乎很合适?
我发现了一些描述如何设置virtualenv/pip/fabric的文章,但似乎每个人都转向pythonbrew?我应该选哪些?此外,似乎pip/virtualenv集成得相当好,但如果pythonbrew是更好的选择?
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
我把它放在脚本的顶部.我已经看到,应该让脚本可以从命令行运行而不需要python programname.py.除非我误解,否则我应该可以使用programname.py,只要我在脚本顶部有上面的行.它是否正确?
这对我不起作用我只是得到一个错误,表明我必须python在'call'的开头使用它.
安装了两个Python解释器:
[user@localhost ~]$ /usr/bin/python -V && /usr/local/bin/python -V
Python 2.4.3
Python 2.7.6
Run Code Online (Sandbox Code Playgroud)
PATH它运行的每个命令的Sudo更改如下:
[user@localhost ~]$ env | grep PATH && sudo env | grep PATH
PATH=/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/user/bin
PATH=/usr/bin:/bin
Run Code Online (Sandbox Code Playgroud)
我运行一个测试脚本:
[user@localhost ~]$ cat what_python.py
#!/usr/bin/env python
import sys
print sys.executable
print sys.version
[user@localhost ~]$ sudo python what_python.py
/usr/bin/python
2.7.6 (default, Feb 27 2014, 17:05:07)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)]
Run Code Online (Sandbox Code Playgroud)
并获取Python 2.4.3 in sys.executable和2.7.6版中的路径sys.version.显然sys.executable,sys.version不匹配.考虑到sudo如何修改PATH,我可以理解它的价值sys.executable.但是,为什么sys.version报告版本2.7.6而不是版本2.4.3,它会匹配usr/bin/python报告的路径sys.executable?
这是我的问题的后续事件Sudo更改PATH,但执行相同的二进制文件