- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们需要在 ARM 板上安装一些 PHP。我已经成功地交叉编译了 PHP 5 和 THTTPD,它们似乎在 ARM 板上运行良好,只有 .php 页面显示未处理(如果您在网络浏览器中执行“查看源代码”,您可以看到 PHP代码)。
这肯定是一个愚蠢的配置细节,我真的觉得我是在从胜利的嘴里抢夺失败。任何帮助或聪明的想法将不胜感激!
以下是我构建、部署和测试的步骤:
我的 thttpd.conf 文件是:
dir=/srv/www
phppat=**
phpspat=**.php
logfile=/srv/www/logs/web.log
nochroot
port=80
我的程序是:
cd ~/packages/php/
tar xjvf php-5.2.1.tar.bz2
cd ~/packages/thttpd/
tar xzvf thttpd-2.21b.tar.gz
cd ~/packages/php/php-5.2.1/
mkdir install-arm
export CC=/bin/arm-linux-gcc
export CXX=/bin/arm-linux-cpp
./configure --host=i386-linux-gnu --target=arm --prefix=install-arm \
--disable-short-tags --without-mysql \
--without-pear --disable-all --disable-short-tags
--enable-force-cgi-redirect --enable-discard-path \
--with-thttpd=../../thttpd/thttpd-2.21b
make
make install
cd ~/packages/thttpd/thttpd-2.21b
export CC=/bin/arm-linux-gcc
export CXX=/bin/arm-linux-c++
export CPP=/bin/arm-linux-c++
./configure --host=i386-linux-gnu --target=arm --prefix=/srv/www
# I got compiling errors for thttpd.c caused by the ifdef condition not happening and
# an include file not added. Deleted the ifdef/end if and recompiled. This
# necessary for two files.
################ in file thttpd.c changed:
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif
# to:
#include <fcntl.h>
############### in file fdwatch.c changed:
#ifdef HAVE_POLL_H
#include <poll.h>
#else /* HAVE_POLL_H */
#ifdef HAVE_SYS_POLL_H
#include <sys/poll.h>
#endif /* HAVE_SYS_POLL_H */
#endif /* HAVE_POLL_H */
# to:
#include <poll.h>
# also tried:
#include <sys/poll.h>
# (both work)
make
# to make sure we get 0 (success) despite the warnings:
echo $?
# no make install, all references indicated it's broken and I also got errors
# where directories with the same name prevented files from being written.
########## deployment to board
# copied "php" and "thttpd" executables in /usr/sbin using following command
# in Cutecom:
cd /usr/sbin
tftp -g -r php 192.168.1.25
tftp -g -r thttpd 192.168.1.25
chmod +x php
chmod +x thttpd
# unsure, should I get a libphp5.so ? Where is it?:
# tried:
# cd /usr/lib
# tftp -g -r libphp5.a 192.168.1.25
# chmod +rx
cd /srv/www
mkdir conf
cd conf
tftp -g -r thttpd.conf 192.168.1.25
cd /srv
/usr/sbin/thttpd -C /srv/www/conf/thttpd.conf
# HTML pages and images displayed fine, test.php is passed without pre-processing,
# contains:
# <?
# phpinfo();
# ?>
############## Testing if PHP works on the ARM board
root@arago:/srv/www/cgi-bin# php -v
PHP 5.2.1 (cli) (built: Sep 27 2010 10:59:59)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
root@arago:/srv/www/cgi-bin# php -r 'phpinfo();'
phpinfo()
PHP Version => 5.2.1
System => Linux arago 2.6.33-rc4 #1 PREEMPT Thu Mar 25 15:06:29 IST 2010 armv5tejl
Build Date => Sep 27 2010 11:30:59
Configure Command => './configure' '--host=i386-linux-gnu' '--target=arm'
'--prefix=install-arm' '--disable-short-tags' '--without-mysql' '--without-pear'
'--disable-all' '--disable-short-tags' '--enable-force-cgi-redirect' '--enable-
discard-path' '--with-thttpd=../../thttpd/thttpd-2.21b'
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => install-arm/lib
PHP API => 20041225
PHP Extension => 20060613
Zend Extension => 220060519
Debug Build => no
Thread Safety => disabled
Zend Memory Manager => enabled
IPv6 Support => enabled
Registered PHP Streams => php, file, data, http, ftp
Registered Stream Socket Transports => tcp, udp, unix, udg
Registered Stream Filters => string.rot13, string.toupper, string.tolower,
string.strip_tags, convert.*, consumed
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
_______________________________________________________________________
Configuration
PHP Core
Directive => Local Value => Master Value
allow_call_time_pass_reference => On => On
allow_url_fopen => On => On
allow_url_include => Off => Off
always_populate_raw_post_data => Off => Off
arg_separator.input => & => &
arg_separator.output => & => &
asp_tags => Off => Off
auto_append_file => no value => no value
auto_globals_jit => On => On
auto_prepend_file => no value => no value
browscap => no value => no value
default_charset => no value => no value
default_mimetype => text/html => text/html
define_syslog_variables => Off => Off
disable_classes => no value => no value
disable_functions => no value => no value
display_errors => On => On
display_startup_errors => Off => Off
doc_root => no value => no value
docref_ext => no value => no value
docref_root => no value => no value
enable_dl => On => On
error_append_string => no value => no value
error_log => no value => no value
error_prepend_string => no value => no value
error_reporting => no value => no value
expose_php => On => On
extension_dir => install-arm/lib/php/extensions/no-debug-non-zts-20060613 => install-
arm/lib/php/extensions/no-debug-non-zts-20060613
file_uploads => On => On
highlight.bg => <font style="color: #FFFFFF">#FFFFFF</font> => <font style="color:
#FFFFFF">#FFFFFF</font>
highlight.comment => <font style="color: #FF8000">#FF8000</font> => <font
style="color: #FF8000">#FF8000</font>
highlight.default => <font style="color: #0000BB">#0000BB</font> => <font
style="color: #0000BB">#0000BB</font>
highlight.html => <font style="color: #000000">#000000</font> => <font style="color:
#000000">#000000</font>
highlight.keyword => <font style="color: #007700">#007700</font> => <font
style="color: #007700">#007700</font>
highlight.string => <font style="color: #DD0000">#DD0000</font> => <font style="color:
#DD0000">#DD0000</font>
html_errors => Off => Off
ignore_repeated_errors => Off => Off
ignore_repeated_source => Off => Off
ignore_user_abort => Off => Off
implicit_flush => On => On
include_path => .: => .:
log_errors => Off => Off
log_errors_max_len => 1024 => 1024
magic_quotes_gpc => On => On
magic_quotes_runtime => Off => Off
magic_quotes_sybase => Off => Off
mail.force_extra_parameters => no value => no value
max_execution_time => 0 => 0
max_input_time => -1 => -1
memory_limit => 128M => 128M
open_basedir => no value => no value
output_buffering => 0 => 0
output_handler => no value => no value
post_max_size => 8M => 8M
precision => 14 => 14
realpath_cache_size => 16K => 16K
realpath_cache_ttl => 120 => 120
register_argc_argv => On => On
register_globals => Off => Off
register_long_arrays => On => On
report_memleaks => On => On
report_zend_debug => Off => Off
safe_mode => Off => Off
safe_mode_exec_dir => /usr/local/php/bin => /usr/local/php/bin
safe_mode_gid => Off => Off
safe_mode_include_dir => no value => no value
sendmail_from => no value => no value
sendmail_path => -t -i => -t -i
serialize_precision => 100 => 100
short_open_tag => Off => Off
SMTP => localhost => localhost
smtp_port => 25 => 25
sql.safe_mode => Off => Off
track_errors => Off => Off
unserialize_callback_func => no value => no value
upload_max_filesize => 2M => 2M
upload_tmp_dir => no value => no value
user_dir => no value => no value
variables_order => EGPCS => EGPCS
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
y2k_compliance => On => On
zend.ze1_compatibility_mode => Off => Off
date
date/time support => enabled
Timezone Database Version => 2006.16
Timezone Database => internal
Default timezone => UTC
Directive => Local Value => Master Value
date.default_latitude => 31.7667 => 31.7667
date.default_longitude => 35.2333 => 35.2333
date.sunrise_zenith => 90.583333 => 90.583333
date.sunset_zenith => 90.583333 => 90.583333
date.timezone => no value => no value
Reflection
Reflection => enabled
Version => $Id: php_reflection.c,v 1.164.2.33.2.33 2007/01/01 09:36:05 sebastian Exp $
standard
Regex Library => Bundled library enabled
Dynamic Library support not available<br />.
Directive => Local Value => Master Value
assert.active => 1 => 1
assert.bail => 0 => 0
assert.callback => no value => no value
assert.quiet_eval => 0 => 0
assert.warning => 1 => 1
auto_detect_line_endings => 0 => 0
default_socket_timeout => 60 => 60
safe_mode_allowed_env_vars => PHP_ => PHP_
safe_mode_protected_env_vars => LD_LIBRARY_PATH => LD_LIBRARY_PATH
url_rewriter.tags => a=href,area=href,frame=src,form=,fieldset= =>
a=href,area=href,frame=src,form=,fieldset=
user_agent => no value => no value
Additional Modules
Module Name
Environment
Variable => Value
TSLIB_TSDEVICE => /dev/input/touchscreen0
USER => root
OLDPWD => /srv/www
HOME => /home/root
PS1 => \u@\h:\w\$
LOGNAME => root
TERM => linux
PATH => /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:
SHELL => /bin/sh
PWD => /srv/www/cgi-bin
TZ => UTC
EDITOR => /bin/vi
PHP Variables
Variable => Value
_SERVER["TSLIB_TSDEVICE"] => /dev/input/touchscreen0
_SERVER["USER"] => root
_SERVER["OLDPWD"] => /srv/www
_SERVER["HOME"] => /home/root
_SERVER["PS1"] => \u@\h:\w\$
_SERVER["LOGNAME"] => root
_SERVER["TERM"] => linux
_SERVER["PATH"] => /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:
_SERVER["SHELL"] => /bin/sh
_SERVER["PWD"] => /srv/www/cgi-bin
_SERVER["TZ"] => UTC
_SERVER["EDITOR"] => /bin/vi
_SERVER["PHP_SELF"] => -
_SERVER["SCRIPT_NAME"] => -
_SERVER["SCRIPT_FILENAME"] =>
_SERVER["PATH_TRANSLATED"] =>
_SERVER["DOCUMENT_ROOT"] =>
_SERVER["REQUEST_TIME"] => 1267544129
_SERVER["argv"] => Array
(
[0] => -
)
_SERVER["argc"] => 1
_ENV["TSLIB_TSDEVICE"] => /dev/input/touchscreen0
_ENV["USER"] => root
_ENV["OLDPWD"] => /srv/www
_ENV["HOME"] => /home/root
_ENV["PS1"] => \u@\h:\w\$
_ENV["LOGNAME"] => root
_ENV["TERM"] => linux
_ENV["PATH"] => /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:
_ENV["SHELL"] => /bin/sh
_ENV["PWD"] => /srv/www/cgi-bin
_ENV["TZ"] => UTC
_ENV["EDITOR"] => /bin/vi
PHP License
This program is free software; you can redistribute it and/or modify
it under the terms of the PHP License as published by the PHP Group
and included in the distribution in the file: LICENSE
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
If you did not receive a copy of the PHP license, or have any
questions about PHP licensing, please contact license@php.net.
最佳答案
上述程序成功了!
问题是使用的 PHP 语法,它需要完整的
<?php
?>
分隔符而不是
<?
?>
关于php - 使用 PHP 交叉编译的 THTTPD 服务器运行良好,但没有 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3817685/
我想使用单个(交叉)编译器来编译不同 ARM 调用约定的代码:因为我总是想使用浮点和 NEON 指令,所以我只想选择硬浮点调用约定或软浮点(softfp)调用约定。 我的编译器默认为硬浮点,但它支持我
假设我正在构建一个依赖于两个库的 java 应用程序:A 和 B。A 和 B 都依赖于库 C。管理 A 和 B 使用相同版本的最佳方法是什么所以他们不冲突?我正在使用 Gradle。 最佳答案 从 G
我想在按钮的文本上添加图像。如果我将图像添加为按钮的背景,它就会添加到文本下方。预期结果作为图像添加。请帮忙 更新:我需要以编程方式执行此操作。 最佳答案 在 XML 中, * 在代码中
我已经开始使用 CSS3 制作动画了。 我尝试创建一个动画汉堡菜单,但结果有点难看。顶部和底部的条向右平移一点。所以旋转动画不是很流畅和正确。 这是结果 => 这是我的代码: /* HTML */
给定一个具有2条相交曲线的图像,如下图所示,我如何使用opencv或python检测和区分2条曲线? (所以我需要2条单独的曲线) 最佳答案 您可以扫描每一列,并从连接的零件中识别出簇。 伪算法: l
我正在尝试在 redhat 集群(x86_64 主机)上设置 cross-mingw。我没有 root 访问权限,并且可用的 mingw 二进制文件不起作用(坏 glibc 版本等)。我正在阅读本教程
我正在尝试在javaFX中开发一个游戏,当两个图像相交时,分数将被更新,并且障碍物将不可见。但不幸的是,在游戏中分数不断更新。 我想我无法在游戏中正确地使图像不可见。 以下是相关类的完整代码: pac
pikastar dot com 是网站,当向下滚动它然后在导航菜单展开固定位置时它 > 将穿过主 div。我该如何修复它。 #topNav.sticky { box-shadow: 0 10
我正在使用 Eclipse为 ARM 处理器交叉编译 g++ 项目。我在 Windows 环境中使用 yagarto 工具链。我对 C 项目没有问题,但是对于 C++,我一直收到错误: libc.a(
我想从两个哈希数组中获取并集/交集/差集,例如: array1 = [{:name =>'Guy1', :age => 45},{:name =>'Guy2', :age => 45}] array2
有没有办法在调用任何 Controller 操作之前执行一些代码? 我需要根据 get 参数的值设置 session 变量,而不考虑调用哪个 Controller 。 当然,一旦这个处理完成,请求需要
我刚开始使用 3D 网格,面向用于有限元分析。我想在立方体状矩阵中模拟 Material 的夹杂物(任何形状,但主要对球体和椭圆体感兴趣)。这些夹杂物不应彼此重合。 所以我想为python使用某种包,
我想知道以跨平台方式操作应用程序设置的最佳解决方案是什么。 在 iOS 中,我们可以在设置屏幕中更改应用程序外部的设置,但在 windows phone 和 android 中我们没有。 所以,我的想
var barcodeNum = ko.observable(""); VelocityMeetings.scan = function (params) { var errorMessage = k
这个问题在这里已经有了答案: Transforming data.frame in R (2 个答案) 关闭10 年前。 过去我问过一个关于如何create cross tables from a
我有两个共享同一个工厂的 Controller 。其中一个 Controller 正在更新工厂变量。其他人应该注意该变化并稍后显示。 我是这样尝试的: http://plnkr.co/edit/q1N
标题不好,但这是我发现的将我的问题与简单的表格交叉区分开来的方式,因为我之前的研究总是让我接触到这类主题。 我有几个表 - 为了简化起见,我们只用 3 个表来命名它们:A、B、C。我想将它们全部放在一
我需要做这样的事情(在 MySQL 中),我使用 UNION 的尝试直到现在才奏效。 理论上: SELECT * FROM tableA A JOIN tableB B ON A.tableAId =
注意:使用SDL 2.0,Cross header class问题 我在类之间进行交叉引用,主要是我的类初始化渲染器和我的纹理类引用渲染初始化。现在,我已经能够运行该程序,直到我开始放入纹理类,代码也
我有一个这样的字母数组 var letters = ["Y", "X", "A", "Y", "O", "H", "A", "O", "O"]; 我创建了一个循环来
我是一名优秀的程序员,十分优秀!