使用 PHP 交叉编译的 THTTPD 服务器运行良好,但没有 PHP [英] cross-compiled THTTPD server with PHP runs fine, but no PHP

查看:30
本文介绍了使用 PHP 交叉编译的 THTTPD 服务器运行良好,但没有 PHP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们需要在 ARM 板上安装一些 PHP.我已经成功地交叉编译了 PHP 5 和 THTTPD,它们似乎都在 ARM 板上运行良好,只有 .php 页面显示未处理(如果您在 Web 浏览器中执行查看源代码",您可以看到 PHP代码).

We need some PHP on an ARM board. I've successfully cross-compiled both PHP 5 and THTTPD and they both seem to run fine on the ARM board, only the .php pages are shown unprocessed (if you do "View Source" in the web browser, you can see the PHP code).

一定是个傻逼的配置细节,我真的觉得我是从胜利的口中抢夺失败.任何帮助或聪明的想法将不胜感激!

It has to be a silly configuration detail, I really feel that I am snatching defeat from the jaws of victory. Any help or smart ideas would be greatly appreciated!

以下是我构建、部署和测试的步骤:

Here are my steps to build, deploy and test:

我的 thttpd.conf 文件是:

My thttpd.conf file is:

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 语法,它需要完整的

The problem was the PHP syntax used, it needed the full

<?php
?>

分隔符而不是

<?
?>

这篇关于使用 PHP 交叉编译的 THTTPD 服务器运行良好,但没有 PHP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆