这是我遇到的Apache/Perl问题.
我在perl CGI应用程序中使用CPAN模块.它是Spreadsheet :: ParseExcel
我已经用tar.gz文件安装了cpan模块.
我已经安装了依赖项.
但是,我确实以非root用户身份执行了此操作.包含这些文件的库位于用户文件夹/ home/user/lib下
现在,我已在此框中成功配置了Apache2.html目录是/ var/www/html,cgi文件夹是/ var/www/html/cgi-bin.我已经验证它们有效,因为该文件夹中不需要特殊模块的所有脚本都可以在我的firefox浏览器中运行,即.你好世界,数据转储,简单形式.
但是,当我尝试运行使用"Spreadsheet :: ParseExcel"的脚本时,我得到的错误是在@INC中找不到该模块.但是,我在添加库的脚本开头有一个"use lib"语句.
脚本可以在PUTTY中运行而不会出现问题.只有从浏览器运行脚本时我才会遇到问题.
这个Web应用程序写在另一个盒子上,并在该盒子上正常工作.因为我当然在那里发展.我将Apache2放在我的个人Ubuntu机器上,并在这里安装了Web应用程序和模块,它可以在我的本地机器上运行.
我已经将"chmod -R a + rx"设置为用户库文件夹,所以我认为Apache可以访问该文件夹,除非父目录的设置阻止了它?我不必在/ home/user文件夹上运行它,或者更糟的是/ home文件夹,是吗?
有关这个问题的任何见解?
谢谢大家的时间!
我是git的新手,并且正在使用类似于svn的集中式工作流程.我想定期知道我的状态与中央回购的比较.例如,如果我运行以下命令...
$ git clone git@github.com:centralrepo/test.git
$ cd test; <make some changes inside test/>
$ git commit -a
$ git pull
Run Code Online (Sandbox Code Playgroud)
... git pull说"已经是最新的".为什么没有git pull报告更改,如果这是正确的行为,有没有办法知道我的本地与远程同步?
嘿.我很难在我的config/doctrine/schema.yml文件中迁移我所做的更改.
我将列添加 age 到 user 表中.然后我做了一个 php symfony doctrine:generate-migrations-diff 跟随 php symfony doctrine:migrate .
查看我的数据库, age 现在添加了该列,但未删除任何数据.
但是,我的/lib/model/doctrine/base/BaseUser.class.php没有改变,没有 age 字段或功能 age .所以我也做了命令 php symfony doctrine:build-model .最后,模型也会更新/迁移.
所以我想知道,这是唯一的方法吗?看起来好像很多工作,每次做这件事我都不敢错过.
我可以直接进入phpmyadmin,在那里添加数据库中的更改,然后执行操作 php symfony doctrine:build-schema ,就像跳过迁移部分(两个命令)一样.
此外,当使用模型时,我是否正确/lib/model/doctrine/User.class.php是我可以为我的用户"数据类"创建函数的地方?喜欢,做一个功能 isFemale .如果没有,这种功能在哪里?
这可能是一个糟糕的问题,但为什么模型层位于/ lib/doctrine路径中?据我所知,您将模块保存在应用程序中,您可以在其中创建视图和控制器.为什么模型应该在外面.像这样我可以制作没有附加控制器和视图的模型吗?
谢谢.
我对使用针对DB2和MySQL的hibernate有同样的问题.
这是一个测试:
EntityManager em = emf.createEntityManager();
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Customers> query = cb.createQuery(Customers.class);
Root<Customers> root = query.from(Customers.class);
ArrayList<String> strList = new ArrayList<String>();
strList.add("ADMIN");
strList.add("SYSADMIN");
strList.add("SALES");
ArrayList<Predicate> predicateList = new ArrayList<Predicate>();
Path<Groups> groups = root.get(Customers_.groups);
Path<String> groupName = groups.get(Groups_.name);
In<String> in = cb.in(groupName);
for (String s : strList) { //has a value
in = in.value(s);
}
predicateList.add(in);
Predicate[] predicates = new Predicate[predicateList.size()];
query.where(predicateList.toArray(predicates));
TypedQuery<Customers> typedQuery = em.createQuery(query);
this.outList = typedQuery.getResultList();
Run Code Online (Sandbox Code Playgroud)
生成我需要的查询,然后是三个不需要的查询(strList中有多个值的附加查询).以下内容打印在日志中(我构建了第一个查询以将其分开.)第一个查询正是我想要的是接下来的三个查询,它们在生产中导致不需要的IO,我将其视为异常.请注意,如果in表达式不在FK上,则不会发生此问题.
INFO: Hibernate:
select
customers0_.id as id0_, customers0_.fname …Run Code Online (Sandbox Code Playgroud) 我输入时考虑一下scenerio:
file.f
Run Code Online (Sandbox Code Playgroud)
当我键入Ctrl-XCtrl-Oomni-completion弹出窗口时,会显示第一个项目.这就是我所看到的:
file.fileno
---------
fileno() <-- highlighted
flush()
---------
Run Code Online (Sandbox Code Playgroud)
请注意,我键入的文本("file.f")已更改为:
file.fileno
Run Code Online (Sandbox Code Playgroud)
我可以将列表中的选项向下移动到'flush',按ENTER键,它最终将会结束
f.flush()
Run Code Online (Sandbox Code Playgroud)
但我想继续键入所需的方法名称而不是使用箭头键.即我想键入"file.f","Ctrl-X Ctrl-O","l"并获得其中之一
file.fileno
---------
flush()
---------
Run Code Online (Sandbox Code Playgroud)
要么
file.fileno
---------
fileno()
flush() <-- highlighted
---------
Run Code Online (Sandbox Code Playgroud)
这可能吗?也许一些全向完成设置必须改变,或者我应该使用不同的键组合而不是Ctrl-XCtrl-O?
我创建了一个函数来设置或清除DWORD中的特定位数.我的功能有效.我不需要帮助使它工作.但是,我想知道我选择的方法是否是最快的方法.
我很难解释这是如何工作的.有两个包含DWORD的数组,这些数组在DWORD的左侧和右侧填充了位(所有二进制1都是).除了我想要设置或清除的位之外,它创建一个填充了所有位的掩码,然后根据该掩码使用按位运算符设置它们.这样一个简单的任务似乎相当复杂,但它似乎是我想出的最快的方式.它比逐点设置要快得多.
static DWORD __dwFilledBitsRight[] = {
0x0, 0x1, 0x3, 0x7, 0xF, 0x1F, 0x3F, 0x7F, 0xFF, 0x1FF, 0x3FF, 0x7FF, 0xFFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF, 0x1FFFF, 0x3FFFF, 0x7FFFF, 0xFFFFF, 0x1FFFFF, 0x3FFFFF, 0x7FFFFF, 0xFFFFFF, 0x1FFFFFF, 0x3FFFFFF, 0x7FFFFFF, 0xFFFFFFF, 0x1FFFFFFF, 0x3FFFFFFF, 0x7FFFFFFF, 0xFFFFFFFF
};
static DWORD __dwFilledBitsLeft[] = {
0x0, 0x80000000, 0xC0000000, 0xE0000000, 0xF0000000, 0xF8000000, 0xFC000000, 0xFE000000, 0xFF000000, 0xFF800000, 0xFFC00000, 0xFFE00000, 0xFFF00000, 0xFFF80000, 0xFFFC0000, 0xFFFE0000, 0xFFFF0000, 0xFFFF8000, 0xFFFFC000, 0xFFFFE000, 0xFFFFF000, 0xFFFFF800, 0xFFFFFC00, 0xFFFFFE00, 0xFFFFFF00, 0xFFFFFF80, 0xFFFFFFC0, 0xFFFFFFE0,
0xFFFFFFF0, 0xFFFFFFF8, 0xFFFFFFFC, 0xFFFFFFFE, 0xFFFFFFFF
}; …Run Code Online (Sandbox Code Playgroud) 我有一个文件,我想grep以-rwx或drwx开头的行以任何数字结尾.
我有这个,但它不是很正确.有任何想法吗?
grep [^.rwx]*[0-9] usrLog.txt
Run Code Online (Sandbox Code Playgroud) 使用默认路由,request/posts /:id将映射到"show"操作:format => "html".我在show动作中使用了一些xhtml元素,除非将:content_type设置为xml,否则这些元素无法正确呈现.我目前通过渲染show.xml.erb并手动设置content_type来解决这个问题,如下所示:
format.html { render :template => "/posts/show.xml.erb",
:locals => {:post => @post}, :content_type => "text/xml" }
Run Code Online (Sandbox Code Playgroud)
这看起来很傻.我如何更改routes.rb以便/ posts /:id被路由format=>"xml"?谢谢.
转到YouTube时,它会提供一个嵌入代码,例如
<iframe title="YouTube video player"
class="youtube-player" type="text/html" width="640" height="385"
src="http://www.youtube.com/embed/QRvVzaQ6i8A?rel=0">
</iframe>
Run Code Online (Sandbox Code Playgroud)
请注意
type="text/html"
Run Code Online (Sandbox Code Playgroud)
是无效的HTML.iframe标签没有此类属性.
任何人都可以解释为什么谷歌把它?我想这是出于某些实际原因,但我无法猜测是什么.
PS你可以通过这里获取嵌入代码http://www.youtube.com/watch?v=QRvVzaQ6i8A
在Android中,当从手机上的照片解码位图时,原始中的EXIF数据会丢失.我通过套接字将此Bitmap发送到我的服务器,并希望将丢失的EXIF数据重新附加到正在发送的数据.
我有一些代码从MediaStore加载一个Bitmap对象并将其压缩为一个字节数组,以准备通过套接字发送它:
Bitmap bitmap = ...
ByteArrayOutputStream stream = new ByteArrayOutputStream(bitmap);
bitmap.compress(CompressFormat.JPEG, 70, stream);
byte[] input = stream.toByteArray();
Run Code Online (Sandbox Code Playgroud)
我想使用ExifInterface来获取SD卡上原始jpeg中的EXIF元数据,并以某种方式将其添加到传出的字节数组中,以便我能够在服务器上提取具有所有正确EXIF的jpeg (希望不在服务器上这样做).到目前为止,我设法使用ExifInterface读取所有EXIF数据:
String path = ... //bitmap file path
ExifInterface exif = new ExifInterface(path);
... = exif.getAttribute(...)
Run Code Online (Sandbox Code Playgroud)
编辑:最理想的是,我想找到一个不使用库的解决方案.如果我能得到包含EXIF的原始jpeg的字节数组的索引,并将这些字节前置/附加到由此产生的字节数组中,Bitmap那将是最好的.