cross-compiled THTTPD server with PHP runs fine, but no PHP

匿名 (未验证) 提交于 2019-12-03 08:56:10

问题:

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:

My thttpd.conf file is:

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

My procedure was:

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. 

回答1:

The above procedure worked!

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

<?php ?> 

delimiters rather than

<? ?> 


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!