Hello everyone, After my previous email, I changed gears and switched to just enabling the CGI but I ran into a different problem.
1. Apache "It Works" is displayed when I visit 192.168.1.50:8080 2. Browser displays "500 Internal Server Error, The server encountered an internal error or misconfiguration and was unable to complete your request" error when I try to visit the test CGI file (index.cgi) Thank you for looking and I appreciate ahead of time. root@OpenWrt:/# php-cgi -v PHP 7.2.34 (cgi-fcgi) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies root@OpenWrt:/# whereis php-cgi php-cgi: /usr/bin/php-cgi root@OpenWrt:/# cat /usr/share/apache2/htdocs/index.php <?php phpinfo(); ?> root@OpenWrt:/# apache2 -v Server version: Apache/2.4.46 (Unix) Server built: root@OpenWrt:/# PHP CGI File (index.cgi): #!/usr/bin/php-cgi <?php phpinfo(); ?> Apache Error Log: [Thu Dec 31 19:28:04.173067 2020] [authz_core:debug] [pid 2546] mod_authz_core.c(818): [client 192.168.2.176:59906] AH01626: authorization result of Require all granted: granted [Thu Dec 31 19:28:04.173661 2020] [authz_core:debug] [pid 2546] mod_authz_core.c(818): [client 192.168.2.176:59906] AH01626: authorization result of <RequireAny>: granted [Thu Dec 31 19:28:04.221841 2020] [cgid:error] [pid 2546] [client 192.168.2.176:59906] malformed header from script 'indexo.php': Bad header: <b>Security Alert!</b> The PHP General File Locations: Test PHP File -> /usr/share/apache2/htdocs/index.php Apache Error Log -> /var/log/apache2/error_log Apache Config File -> /etc/apache2 Apache Modules -> /usr/lib/apache2 PHP INI File -> /etc/php.ini PHP Packages -> php7, php7-cgi Apache Config File: (The Action statement is the last line) ServerRoot "/usr" Listen 192.168.1.50:8080 LoadModule mpm_prefork_module lib/apache2/mod_mpm_prefork.so LoadModule authn_file_module lib/apache2/mod_authn_file.so LoadModule authn_core_module lib/apache2/mod_authn_core.so LoadModule authz_host_module lib/apache2/mod_authz_host.so LoadModule authz_groupfile_module lib/apache2/mod_authz_groupfile.so LoadModule authz_user_module lib/apache2/mod_authz_user.so LoadModule authz_core_module lib/apache2/mod_authz_core.so LoadModule access_compat_module lib/apache2/mod_access_compat.so LoadModule auth_basic_module lib/apache2/mod_auth_basic.so LoadModule reqtimeout_module lib/apache2/mod_reqtimeout.so LoadModule filter_module lib/apache2/mod_filter.so LoadModule mime_module lib/apache2/mod_mime.so LoadModule log_config_module lib/apache2/mod_log_config.so LoadModule log_debug_module lib/apache2/mod_log_debug.so LoadModule env_module lib/apache2/mod_env.so LoadModule headers_module lib/apache2/mod_headers.so LoadModule setenvif_module lib/apache2/mod_setenvif.so LoadModule version_module lib/apache2/mod_version.so LoadModule unixd_module lib/apache2/mod_unixd.so LoadModule status_module lib/apache2/mod_status.so LoadModule autoindex_module lib/apache2/mod_autoindex.so LoadModule cgid_module lib/apache2/mod_cgid.so LoadModule cgi_module lib/apache2/mod_cgi.so LoadModule dir_module lib/apache2/mod_dir.so LoadModule actions_module lib/apache2/mod_actions.so LoadModule alias_module lib/apache2/mod_alias.so LoadModule rewrite_module lib/apache2/mod_rewrite.so <IfModule unixd_module> User apache Group apache </IfModule> ServerAdmin y...@example.com<mailto:y...@example.com> <Directory /> AllowOverride none Require all denied </Directory> DocumentRoot "/usr/share/apache2/htdocs" <Directory "/usr/share/apache2/htdocs"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> <IfModule dir_module> DirectoryIndex index.html </IfModule> <Files ".ht*"> Require all denied </Files> ErrorLog "/var/log/apache2/error_log" LogLevel debug <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> CustomLog "/var/log/apache2/access_log" common </IfModule> <IfModule alias_module> ScriptAlias /cgi-bin/ "/usr/share/apache2/cgi-bin/" ScriptAlias /php/ "/usr/bin/" </IfModule> <IfModule cgid_module> #Scriptsock cgisock </IfModule> <Directory "/usr/share/apache2/cgi-bin"> AllowOverride None Options +ExecCGI AddHandler cgi-script .cgi .php .py Require all granted </Directory> <Directory "/usr/bin"> AllowOverride None Options none Require all granted </Directory> <IfModule headers_module> RequestHeader unset Proxy early </IfModule> <IfModule mime_module> TypesConfig /etc/apache2/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType application/x-httpd-php .php </IfModule> <IfModule proxy_html_module> Include /etc/apache2/extra/proxy-html.conf </IfModule> <IfModule ssl_module> SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> PHP INI File: [PHP] zend.ze1_compatibility_mode = Off ; Language Options engine = On ;short_open_tag = Off precision = 12 y2k_compliance = On output_buffering = Off ;output_handler = zlib.output_compression = Off ;zlib.output_compression_level = -1 ;zlib.output_handler = implicit_flush = Off unserialize_callback_func = serialize_precision = 100 ;open_basedir = disable_functions = disable_classes = ; Colors for Syntax Highlighting mode. Anything that's acceptable in ; <span style="color: ???????"> would work. ;highlight.string = #DD0000 ;highlight.comment = #FF9900 ;highlight.keyword = #007700 ;highlight.bg = #FFFFFF ;highlight.default = #0000BB ;highlight.html = #000000 ;ignore_user_abort = On ;realpath_cache_size = 16k ;realpath_cache_ttl = 120 ; Miscellaneous expose_php = On ; Resource Limits max_execution_time = 30 ; Maximum execution time of each script, in seconds. max_input_time = 60 ; Maximum amount of time each script may spend parsing request data. ;max_input_nesting_level = 64 memory_limit = 8M ; Maximum amount of memory a script may consume. ; Error handling and logging ; Error Level Constants: ; E_ALL - All errors and warnings (includes E_STRICT as of PHP 6.0.0) ; E_ERROR - fatal run-time errors ; E_RECOVERABLE_ERROR - almost fatal run-time errors ; E_WARNING - run-time warnings (non-fatal errors) ; E_PARSE - compile-time parse errors ; E_NOTICE - run-time notices (these are warnings which often result ; from a bug in your code, but it's possible that it was ; intentional (e.g., using an uninitialized variable and ; relying on the fact it's automatically initialized to an ; empty string) ; E_STRICT - run-time notices, enable to have PHP suggest changes ; to your code which will ensure the best interoperability ; and forward compatibility of your code ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's ; initial startup ; E_COMPILE_ERROR - fatal compile-time errors ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) ; E_USER_ERROR - user-generated error message ; E_USER_WARNING - user-generated warning message ; E_USER_NOTICE - user-generated notice message ; E_DEPRECATED - warn about code that will not work in future versions ; of PHP ; E_USER_DEPRECATED - user-generated deprecation warnings ; ; Common Values: ; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.) ; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices) ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) ; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.) ; Default Value: E_ALL & ~E_NOTICE error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT display_errors = On display_startup_errors = Off log_errors = Off log_errors_max_len = 1024 ignore_repeated_errors = Off ignore_repeated_source = Off report_memleaks = On ;report_zend_debug = 0 track_errors = Off ;html_errors = Off ;docref_root = "/phpmanual/" ;docref_ext = .html ;error_prepend_string = "<font color=#ff0000>" ;error_append_string = "</font>" ; Log errors to specified file. ;error_log = /var/log/php_errors.log ; Log errors to syslog. ;error_log = syslog ; Data Handling ;arg_separator.output = "&" ;arg_separator.input = ";&" variables_order = "EGPCS" request_order = "GP" register_globals = Off register_long_arrays = Off register_argc_argv = On auto_globals_jit = On post_max_size = 8M ;magic_quotes_gpc = Off magic_quotes_runtime = Off magic_quotes_sybase = Off auto_prepend_file = auto_append_file = default_mimetype = "text/html" ;default_charset = "iso-8859-1" ;always_populate_raw_post_data = On ; Paths and Directories ; UNIX: "/path1:/path2" ;include_path = ".:/php/includes" doc_root = user_dir = extension_dir = "/usr/lib/php" enable_dl = On ;cgi.force_redirect = 1 ;cgi.nph = 1 ;cgi.redirect_status_env = ; cgi.fix_pathinfo=1 ;fastcgi.impersonate = 1; ;fastcgi.logging = 0 ;cgi.rfc2616_headers = 0 ; File Uploads file_uploads = On upload_tmp_dir = "/tmp" upload_max_filesize = 2M max_file_uploads = 20 ; Fopen wrappers allow_url_fopen = On allow_url_include = Off ;from="j...@doe.com<mailto:j...@doe.com>" ;user_agent="PHP" default_socket_timeout = 60 ;auto_detect_line_endings = Off