我将一些图片上传到文件夹$OPENSHIFT_DATA_DIR/uploaded
,但是我无法使用以下文件检索这些文件:
$_ENV['$OPENSHIFT_DATA_DIR'].'uploaded/filename.jpg';
错误消息如下:
在此服务器上找不到请求的url/var/lib/openshift/xxxxx/app root/data/thumbnails/filename.jpg。
但是当我ssh到我的openshift应用程序时,文件就在
$OPENSHIFT_DATA_DIR/uploaded/
是否有特定的命令从“抄送”中检索信息?
*****编辑*****
所以我在网上做了进一步的研究,显然
$OPENSHIFT_DATA_DIR
文件夹是不可访问的。一种解决方法是创建符号链接。然而,另一个问题出现了:我不能符号化
$OPENSHIFT_DATA_DIR
和$OPENSHIFT_DATA_DIR/uploaded
。我使用的命令是:ln -s ${OPENSHIFT_DATA_DIR}uploaded ${OPENSHIFT_REPO_DIR}src/img/uploaded
但是当我使用
$OPENSHIFT_REPO_DIR/src/img/uploaded
readlink -f ${OPENSHIFT_REPO_DIR}src/img/uploaded
它仍然显示
readlink
文件夹,而不是${OPENSHIFT_REPO_DIR}src/img/uploaded
最佳答案
所以解决方案相当简单:将.openshift/action_hooks/build
文件设置为“可执行”。然后可以在构建文件中指定指向$OPENSHIFT_REPO_DIR/src/img/uploaded
的符号链接,然后可以通过调用$_ENV['$OPENSHIFT_REPO_DIR'].'src/img/uploaded/filename.jpg';
来引用上载的文件。