2010-09-28 4 views
3

Nous avons besoin de PHP sur une carte ARM. J'ai compilé avec succès PHP 5 et THTTPD et ils semblent tous deux fonctionner correctement sur la carte ARM, seules les pages .php sont montrées non traitées (si vous faites "View Source" dans le navigateur web, vous pouvez voir le PHP code).serveur THTTPD croisé avec PHP fonctionne bien, mais pas PHP

Il doit y avoir un détail de configuration stupide, je sens vraiment que je suis arracher la défaite des mâchoires de la victoire. Toute aide ou idées intelligentes serait grandement appréciée!

Voici mes étapes pour construire, déployer et tester:

Mon fichier thttpd.conf est:

dir=/srv/www 
phppat=** 
phpspat=**.php 
logfile=/srv/www/logs/web.log 
nochroot 
port=80 

Ma procédure a été:

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 

[email protected]:/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 


[email protected]:/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 => \[email protected]\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"] => \[email protected]\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"] => \[email protected]\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 [email protected] 

Répondre

0

La procédure ci-dessus a fonctionné!

Le problème est la syntaxe PHP utilisé, il avait besoin de la pleine

<?php 
?> 

délimiteurs plutôt que

<? 
?> 
+1

Voir aussi http://www.php.net/manual/en/ini. core.php # ini.short-open-tag –

Questions connexes