Articles of 二进制

Nginx – 将PHP视为二进制文件

我们运行Nginx + FastCgi作为Drupal站点的后端。 一切似乎工作得很好,除了这一个url。 HTTP:///sites/all/modules/tinymce/tinymce/jscripts/tiny_mce/plugins/smimage/index.php (我们在Drupal中使用TinyMCE模块,当用户尝试上传图片时,会调用上面的url) 当我们使用Apache时,一切正常。 然而,nginx对待上面的url二进制,并尝试下载它。 (我们已经validation了url指出的文件是一个有效的PHP文件) 任何想法在这里可能是错的? 我认为这是与NGINXconfiguration有关,但不完全确定是什么。 任何帮助是极大的赞赏。 configuration:这是nginxconfiguration文件的片段: root /var/www/; index index.php; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?q=$1 last; } error_page 404 index.php; location ~* \.(engine|inc|info|install|module|profile|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template)$ { deny all; } location ~* ^.+\.(jpg|jpeg|gif|png|ico)$ { access_log off; expires 7d; } location ~* ^.+\.(css|js)$ { access_log off; expires 7d; } location […]

本地GCC 5二进制文件太大(libexec)

所以我在一个旧的CentOS 6.6发行版,并从源代码编译GCC 5.2。 当我安装它时,它创build了libexec下的5.2.0子文件夹,但是二进制文件cc1和cc1 plus是巨大的! 这是我如何build立它 Using built-in specs. COLLECT_GCC=./gcc COLLECT_LTO_WRAPPER=/usr2/libexec/gcc/i686-redhat-linux-gnu/5.2.0/lto-wrapper Target: i686-redhat-linux-gnu Configured with: ../configure –prefix=/usr2 –disable-multilib –enable-languages=c,c++ –enable-gnu-unique-object –disable-dssi –enable-libstdcxx-threads –enable-libstdcxx-time –enable-shared –enable-__cxa_atexit –disable-libunwind-exceptions –disable-libada –host=i686-redhat-linux-gnu –build=i686-redhat-linux-gnu –target=i686-redhat-linux-gnu –with-default-libstdcxx-abi=gcc4-compatible –with-arch=i686 –enable-linker-build-id –with-system-zlib –with-default-libstdcxx-abi=gcc4-compatible Thread model: posix gcc version 5.2.0 (GCC) 这是发行版4.4.7的ls -rwxr-xr-x 1 root root 8566416 Jul 23 00:19 cc1 -rwxr-xr-x 1 root […]

从编译的二进制文件获得macros值(带debugging)

我需要确定二进制编译的特定macros的值。 该文件是一个Linux共享库文件。 可能吗?

wkhtmltoimage错误 – 无法执行二进制文件

我真的有麻烦得到这个二进制运行(我花了几天和几天!)。 我想用Apache web服务器(icdsoft.com)在Linux操作系统上运行wkhtmltoimage,托pipe公司告诉我应该使用static-amd64。 我下载的文件在: http://code.google.com/p/wkhtmltopdf/downloads/detail?name=wkhtmltoimage-0.11.0_rc1-static-amd64.tar.bz2并解压缩。 我没有ssh访问服务器,但托pipe公司说我可以从一个目录运行二进制文件,如: /home/notice/www/www/wkhtmltoxdoc/ 虽然我认为它必须是这样的: /usr/local/bin/ 所以我把文件“wkhtmltoimage-amd64”上传到/ home / notice / www / www / wkhtmltoxdoc /,并将其改名为“wkhtmltoimage”。 我也做了这个文件的副本,并称之为“wkhtmltoimage.bin”(有人说这有帮助)。 我改变了这两个文件和目录“wkhtmltoxdoc”有权限777。 然后,我试着调用二进制文件(有和没有.bin扩展名)使用PHP,没有产生任何结果(没有文件被创build): 注意:[bbc_url] = http://www.bbc.com (我不能发布超过2个链接) shell_exec('./wkhtmltoxdoc/wkhtmltoimage.bin [bbc_url] ./wkhtmltoxdoc/bbc.jpg'); shell_exec('./wkhtmltoxdoc/wkhtmltoimage [bbc_url] ./wkhtmltoxdoc/bbc2.jpg'); 然后我试图让我的本地系统上运行的二进制OSx 10.6.8 – 我复制了以前的amd-64文件和32位文件(http://code.google.com/p/wkhtmltopdf/downloads/详细?name = wkhtmltoimage-0.11.0_rc1-static-i386.tar.bz2)到/ usr / local / bin,并将其权限更改为777.这些是转到/ usr / local / bin目录并尝试在terminal运行: $ wkhtmltoimage-amd64 [bbc_url] /Users/jazz/Desktop/bbc.jpg -bash: /usr/local/bin/wkhtmltoimage-amd64: […]

如何将二进制数据写入文件以便快速读取?

我需要编写一个将数据写入文件的文件格式,并可以读取它。 它应该能够以相当快的速度读取数据,这应该包括将一大块数据转移到std::vector (因为它们的存储总是连续执行的)。 但是,在编写文件时,我不知道如何强制约束整数和其他types的alignment和大小。 这应该怎么做? 我在Q6600(x86)上的buntu linux上使用gcc。 举个例子: struct Vertex { float point [3]; float normal [3]; float texcoord [2]; } 稍后,数据存储在std::vector<Vertex> 。 我曾考虑过使用__attribute__和打包/alignment它,以便在不同的平台上更具可移植性。 编辑:我已经做了一个规范,我打算使用它。 数据的最大位是顶点和索引,所以这些数据将被读为大块,例如(更大规格的一部分):顶点组是一组共享特征的顶点。 一次只能容纳一种材料,因此网格中应该包含许多材料。 <uint> thisid # Of this VertexGroup <string> name <uint> materialId # A material <uint> vertexCount for (vetexCount): <3xfloat> point <3xfloat> normal <2xfloat> texcoord <uint> triangleCount for (triangleCount): <3xuint> […]

strace输出问题

我在CentOS和Debian上运行一个程序。 输出是完全一样的,但在Centos中,我得到了3行粗体,而在Debian中我没有。 那三行是关于什么的?我怎样才能让他们进入Debian呢? execve(“./ z1”,[“./z1”],[/ * 31 vars * /])= 0 brk(0)= 0x8458000 访问(“/ etc / ld.so.nohwcap”,F_OK)= -1 ENOENT(没有这样的文件或目录) mmap2(NULL,8192,PROT_READ | PROT_WRITE,MAP_PRIVATE | MAP_ANONYMOUS,-1,0)= 0xb7f41000 访问(“/ etc / ld.so.preload”,R_OK)= -1 ENOENT(没有这样的文件或目录) 打开(“/ home / myuser / public_html / libs / libmudflap.so.0”,O_RDONLY)= 3 (3,“\ 177ELF \ 1 \ 1 \ 1 \ 0 \ 0 \ […]

从Linux内核运行外部二进制文件

在我们的开发团队中,我们正根据自己的需求修改驱动程序。 我们需要它在linux文件系统中执行外部二进制文件(用户空间应用程序)。 这样做是正确的吗? 从linux内核中调用二进制文件的最好方法是什么? system(),popen()? 感谢您的回答。

在文件中查找二进制块

我有一大块相当随机的二进制数据。 我想要找出文件中存在块的位置,发生了多less次,以及以什么字节(或扇区)偏移量。 任何想法如何做到这一点? 谢谢,贾斯汀

我用pyinstaller创build的二进制文件与linux不兼容

我使用了最新版本的pyinstaller和–onefile选项来创build一个独立的python脚本文件。 在我的Mac上,它工作得很好,如果我打开terminal(bash shell)中的文件,但在Linux bash中,我得到以下错误 bash: ./myprog: cannot execute binary file 有什么我在这里失踪?

二进制数据从一个串口在Linux上使用c

我正在使用Linux从Phidg​​et sbc上的串行端口读取二进制数据,以从PC上运行的应用程序获取命令。 我在VB写了一个testing程序来读取数据到一个字节数组,并将其转换为十进制使用它,但无法弄清楚如何在C中做到这一点。 我无法拿出我在互联网上做过的研究。 从PC发送的命令是0x0F。 为了检查我是否得到正确的数据,我读取数据并将其发回。 这是我回来的。 返回的数据有一个回车添加到它。 hex显示0F00 0000 0D '\'Display \ 0F \ 00 \ 00 \ 00 \ r 正常显示只是显示一个奇怪的字符。 这告诉我,数据是在那里,我可以使用,但不知道提取值0F或15。 我如何转换传入的数据来使用它? 我尝试使用strtol转换收到的数据,但它返回0.我也尝试将端口设置为raw,但没有任何区别。 unsigned char buffer1[1]; int ReadPort1() { int result; result = read(file1, &buffer1,1); if(result > 0) { WritePort1(buffer1); sprintf(tempstr, "Port1 data %s %d", buffer1, result); DisplayText(2,tempstr); } return result; } […]