我正试图调试PHP + OCI8的一个奇怪的问题,连接到Oracle (12c标准和19c企业),这是发生在一个特定的服务器/实例,但我的测试/开发实例,或其他任何地方我看到它发生…
症状:
-
似乎在Apache HTTPd进程中随机生成一个分段错误。- HTTPd error_log或php_errors或xdebug中不会产生任何内容。只是没有信息
[core:notice] [pid 7613:tid 1] AH00052: child pid 11863 exit signal分割错误(11)
-
可以连续工作1- x次,然后产生错误,或者不工作20次,然后有一个随机的喷射,它工作1、2或5次而不产生段故障。
-
同样一段简单的代码在许多其他实例上都能正常工作,甚至不会出现问题或产生任何异常。
-
当它失败时,大约15-20秒没有任何事情发生,然后脚本失败,HTTPd进程产生分割错误,然后浏览器/php/HTTPd重试几次,它可能会或可能不会在后续尝试中工作。
简单测试代码:
<?php
echo "test oci</br>";
$dbstr = "(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521 )) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = svc) ))";
$conn = oci_pconnect('user', 'pw', $dbstr) or die (ocierror());
if ($conn) { echo "Connected to Oracle</br>"; }
if ($conn) { oci_close($conn); }
?>
我们已经尝试过/看过的:
查看5个HTTPd进程的内存使用情况,没有一个接近php.ini中当前256M的设置。
安装/安装OCI8 2.2.0手动(下载/配置/制作/构建)和使用PECL。(卸载后重新运行,以防出错)
得到了一个核心转储,它显示了一些OCI8的东西在那里,但我失去了我正在寻找的东西。
测试了相同的代码Win10/Oracle 12c/19c/PHP7.4/HTTPd 2.4, Centos7+Oracle 19c, Centos7/Oracle 12c标准,Centos/Windows客户端/PHP/HTTPd对Solaris 19c企业,所有的行为都如预期的。
测试SEGFAULT发生时的模式,例如在X次之后等,但出现随机
环境:
这是在PHP 7.4, Apache 2.4, Solaris 11 (SPARC), Oracle InstantClient 19, OCI8-2.2.0。
有没有人知道你会尝试什么或者如何去确定这个原因?
我在文档中注意到了这个有趣的注释https://www.php.net/manual/en/oci8.requirements.php
Oracle Instant Client provides its own LDAP library that may be incompatible to the LDAP library provided by the operating system.
Segmentation faults and other errors can happen if you load an OCI8 extension into a PHP containing LDAP support or if you load a PHP module with OCI8 into an Apache server with LDAP support.
But this depends heavily on the exact versions of operating system, system LDAP library, PHP, OCI8, and other pieces of software involved.
但是,我没有看到Apache HTTPd正在加载任何ldap模块…
还有一个有趣的转折,在这个特定的实例上,有一种方法可以工作(不会产生分段错误),那就是当连接对象和oci_pconnect在包含的文件中执行时-参见脚本的第二个版本…
initialize.php
<?php
$dbstr = "(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521 )) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = svc) ))";
$conn = oci_pconnect('user', 'pw', $dbstr) or die (ocierror());
?>
testoci.php
<?php
require_once('initialize.php');
echo "test oci</br>";
if ($conn) {
echo "Connected to Oracle</br>";
oci_close($conn);
}
else { echo "NOT Connected</br>"; }
?>
所以,奇怪的是,在这个例子中,上面的测试脚本不起作用,当它包含"initial .php"这使得连接和$conn变量,不会产生分段错误。
这不是很奇怪吗?还是我完全没注意到?
有更多调试的脚本:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$conn = null;
echo "test oci</br>";
try {
$dbstr = "(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521 )) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = svc) ))";
$conn = oci_pconnect('user', 'pw', $dbstr) or die (ocierror());
if ($conn) {
echo "Connected to Oracle</br>";
}
}
catch (Exception $ex) {
echo $ex->getMessage();
$e=oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
echo 'failed to connect to Oracle DB: ' . $e['message'];
}
finally {
if ($conn) { oci_close($conn);
echo "Connected closed.</br>";
}
}
?>
核心转储代码段
------------ lwp# 26 / thread# 26 ---------------
001fff76c760e120 r0_copy8_u2a_sparc9_vis1 (1fff76c38efa18, 1fff76c38edee8, ffffffffffffffd0, 0, 31, 6) + c0
001fff76c76236a8 r0_cipher_mode16_sparc9_vis1_ulen (1fff76c763e850, 1fff76c38edeec, 1fff76c38efa18, 10, 7000002df07c5c60, 7000002df07c5d68) + 20
001fff76c7623460 r0_cipher_mode16_sparc9_crypto_len (7000002df07c5c10, 1fff76c38efa18, 1fff76c38edeec, 10, 7000002df07c5d68, 10109) + 38
001fff76c75f4be4 ri_ciph_update_nopad_nobuf (8000002df07d1d10, 8000002df0705650, 1fff76c38edeec, 10, 1fff76c38efa18, 1fff76c38edefc) + 44
001fff76c74de628 ztca_RSAAdpEncrypt (b000002df04e1db0, 1fff76c38edeec, 10, 1fff76c38efa18, 1fff76c38edefc, 1fff76c799e6e8) + 28
001fff76c7466fc0 ztcebn (1fff76c38edca8, 1fff76c38edeec, a0, 1fff76c38efa18, 1fff76c38edefc, 0) + 120
001fff76c8c0ec04 kztvo5_pbkdf2_skey_enc (1fff76c38edefc, 3000002df07e0734, 40, 1fff76c38efa18, 1fff76c38efab8, 40) + a4
001fff76c82f9660 kpu8lgn (3000002df07e1f20, b000002df07c0038, 1fff76c38efab8, a000002df0888460, 1, 200) + 860
001fff76c82eca3c kpuauthxa (b000002df07c0038, 4000002df07d8160, a000002df0888460, 1, 200, 2260) + c9c
001fff76c82ebcc0 kpuauth (b000002df07c0038, 4000002df07d8160, a000002df0888460, 1, 200, 8000002df04d99e0) + 40
001fff76c836ec48 kpuspextend (9000002df04b5b10, 0, 5000002df07cc420, 9000002df07c8b38, 0, 1fff76cb181250) + 1768
001fff76c8371e58 kpuspgetfreesession (9000002df04b5b10, 0, 0, 8000002df04b46e8, 9000002df07c8b38, 0) + 1df8
001fff76c836cacc kpuspgetpooledsession (9000002df04b5b10, c000002df04e8160, 0, 0, 8000002df04e1e90, 9000002df04b5b68) + 2ec
001fff76c836715c kpuspsessionget (c000002df0739e90, c000002df04e8160, 8000002df04e1e90, 5000002df07cc420, 1, 1fff76cb181250) + 63c
001fff76c8077ba8 OCISessionGet (c000002df0739e90, c000002df04e8160, 8000002df04e1e90, 5000002df07cc420, 9000002df04b5748, 1d) + 188
001fff76d4511b68 php_oci_create_session.constprop.0 (8000002df04e1e70, a000002df04edd10, 8000002df04e1ee0, 8000002df04e1e90, 1, 1) + 160
001fff76d45152c8 php_oci_do_connect_ex (1fff76c2290090, 8, 1fff76c22900e0, f, 1fff76d4631c10, 0) + 1728
001fff76d4516080 php_oci_do_connect (1fff76c2213350, 1fff76c22131d0, 1, 0, 0, 3) + f0
001fff76d271e1a0 execute_internal (1fff76c2213350, 1fff76c22131d0, 3, 1fff76da8ad260, 20, 1fff76c2256a50) + 10
001fff76d99243b8 xdebug_execute_internal (0, 5, 0, 1fff76c22131d0, b000002df0702b20, 1fff76d9a60520) + 584 (base.c:897)
001fff76d26fe9b4 ZEND_DO_FCALL_SPEC_RETVAL_USED_HANDLER (1fff76c2213020, 0, 1fff76c229a6a0, c000002df052d850, 1fff76c2213350, 1fff76d2917908) + 1d4
001fff76d26b920c execute_ex (1fff76c2213020, 1fff76c22830e0, 0, 1fff76da8ad260, 38, 1fff76d2917908) + 58
001fff76d9923238 xdebug_execute_ex (1fff76c2213020, 0, 0, 1fff76c22830e0, 1fff76d2917908, 1fff76d9a60520) + 45c (base.c:779)
001fff76d27203c0 zend_execute (1fff76c22830e0, 1fff76c227a1e8, 1fff76c227a1e0, 0, 1fff76c2213020, 1fff76d2917908) + 1a0
001fff76d2661dd0 zend_execute_scripts (8, 0, 1fff76c38fb090, 1fff76c38fb7d0, 1fff76c22830e0, 1fff76c38fb088) + c4
001fff76d25dff30 php_execute_script (1fff76c38fb7d0, a000002df036c588, 0, 0, 0, 1fff76d2915bd0) + 208
001fff76d2728a74 php_handler (1fff76d282c000, 7000002df0541e50, ce0, a000002df036a8f0, 1fff76d282c000, a000002df036a8f0) + 968
0000000100086a2c ap_run_handler (a000002df036a8f0, 7, 9000002df00469b8, 1002009e8, 100200, 100000) + 4c
0000000100087908 ap_invoke_handler (a000002df036a8f0, 0, 0, d000002df0356a58, 100045000, 100045178) + 158
00000001000a8adc ap_process_async_request (a000002df036a8f0, 0, 2, 1001bc, 2000002df033a2a8, 1001bc748) + 2cc
00000001000a3744 ap_process_http_connection (2000002df033a2a8, 5, 1, 1001bc000, a000002df036a8f0, 2000002df033a270) + f4
00000001000956bc ap_run_process_connection (2000002df033a2a8, 3, 9000002df0047088, 100201230, 100201, 100000) + 4c
001fff76d95089e4 process_socket (4000002df02cb770, 1, 2000002df0339f00, 2000002df033a200, 0, 1400) + 474
001fff76d950b678 worker_thread (4000002df02cb770, 1fff76d97000b0, 1fff76da7602c0, 17, 1fff76d9614000, 0) + 348
001fff76da4dc7e8 _lwp_start (0, 0, 0, 0, 0, 0)
HTTPd error_log
[Fri Oct 29 18:01:09.467855 2021] [core:notice] [pid 7613:tid 1] AH00052: child pid 9550 exit signal Segmentation fault (11)
[Fri Oct 29 18:02:23.478004 2021] [core:notice] [pid 7613:tid 1] AH00052: child pid 12126 exit signal Segmentation fault (11)
[Fri Oct 29 18:02:38.485517 2021] [core:notice] [pid 7613:tid 1] AH00052: child pid 12562 exit signal Segmentation fault (11)
[Fri Oct 29 18:02:56.489919 2021] [core:notice] [pid 7613:tid 1] AH00052: child pid 11863 exit signal Segmentation fault (11)
部分中
[PHP]
engine = On
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func =
serialize_precision = -1
disable_functions =
disable_classes =
zend.enable_gc = On
zend.exception_ignore_args = On
expose_php = On
max_execution_time = 30
max_input_time = 60
memory_limit = 128M
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = On
display_startup_errors = On
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
error_log = /var/apache2/2.4/logs/php_errors.log
variables_order = "GPCS"
request_order = "GP"
register_argc_argv = Off
post_max_size = 8M
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
default_charset = "UTF-8"
doc_root =
user_dir =
extension_dir = "/usr/php/7.4/lib/extensions/no-debug-zts-20190902"
enable_dl = Off
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
;extension=bz2
;extension=curl
;extension=ffi
;extension=ftp
;extension=fileinfo
;extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=ldap
;extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
extension=oci8.so
;extension=odbc
extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop
zend_extension=/usr/php/7.4/lib/extensions/no-debug-zts-20190902/xdebug.so
; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=snmp
;extension=soap
;extension=sockets
;extension=sodium
;extension=sqlite3
;extension=tidy
;extension=xmlrpc
;extension=xsl
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
[xdebug]
xdebug.log=/wm/mvs/wm_web/var/apache2/2.4/logs/xdebug.log
xdebug.log_level=10
[Pcre]
; PCRE library backtracking limit.
; http://php.net/pcre.backtrack-limit
;pcre.backtrack_limit=100000
; PCRE library recursion limit.
; Please note that if you set this value to a high number you may consume all
; the available process stack and eventually crash PHP (due to reaching the
; stack size limit imposed by the Operating System).
; http://php.net/pcre.recursion-limit
;pcre.recursion_limit=100000
; Enables or disables JIT compilation of patterns. This requires the PCRE
; library to be compiled with JIT support.
;pcre.jit=1
[Pdo]
; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
; http://php.net/pdo-odbc.connection-pooling
;pdo_odbc.connection_pooling=strict
;pdo_odbc.db2_instance_name
[Pdo_mysql]
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
pdo_mysql.default_socket=
[Phar]
; http://php.net/phar.readonly
;phar.readonly = On
; http://php.net/phar.require-hash
;phar.require_hash = On
;phar.cache_list =
[ODBC]
; http://php.net/odbc.default-db
;odbc.default_db = Not yet implemented
; http://php.net/odbc.default-user
;odbc.default_user = Not yet implemented
; http://php.net/odbc.default-pw
;odbc.default_pw = Not yet implemented
; Controls the ODBC cursor model.
; Default: SQL_CURSOR_STATIC (default).
;odbc.default_cursortype
; Allow or prevent persistent links.
; http://php.net/odbc.allow-persistent
odbc.allow_persistent = On
; Check that a connection is still valid before reuse.
; http://php.net/odbc.check-persistent
odbc.check_persistent = On
; Maximum number of persistent links. -1 means no limit.
; http://php.net/odbc.max-persistent
odbc.max_persistent = -1
; Maximum number of links (persistent + non-persistent). -1 means no limit.
; http://php.net/odbc.max-links
odbc.max_links = -1
; Handling of LONG fields. Returns number of bytes to variables. 0 means
; passthru.
; http://php.net/odbc.defaultlrl
odbc.defaultlrl = 4096
; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
; of odbc.defaultlrl and odbc.defaultbinmode
; http://php.net/odbc.defaultbinmode
odbc.defaultbinmode = 1
[OCI8]
; Connection: Enables privileged connections using external
; credentials (OCI_SYSOPER, OCI_SYSDBA)
; http://php.net/oci8.privileged-connect
;oci8.privileged_connect = Off
; Connection: The maximum number of persistent OCI8 connections per
; process. Using -1 means no limit.
; http://php.net/oci8.max-persistent
;oci8.max_persistent = -1
; Connection: The maximum number of seconds a process is allowed to
; maintain an idle persistent connection. Using -1 means idle
; persistent connections will be maintained forever.
; http://php.net/oci8.persistent-timeout
;oci8.persistent_timeout = -1
; Connection: The number of seconds that must pass before issuing a
; ping during oci_pconnect() to check the connection validity. When
; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
; pings completely.
; http://php.net/oci8.ping-interval
;oci8.ping_interval = 60
; Connection: Set this to a user chosen connection class to be used
; for all pooled server requests with Oracle 11g Database Resident
; Connection Pooling (DRCP). To use DRCP, this value should be set to
; the same string for all web servers running the same application,
; the database pool must be configured, and the connection string must
; specify to use a pooled server.
;oci8.connection_class =
; High Availability: Using On lets PHP receive Fast Application
; Notification (FAN) events generated when a database node fails. The
; database must also be configured to post FAN events.
;oci8.events = Off
; Tuning: This option enables statement caching, and specifies how
; many statements to cache. Using 0 disables statement caching.
; http://php.net/oci8.statement-cache-size
;oci8.statement_cache_size = 20
; Tuning: Enables statement prefetching and sets the default number of
; rows that will be fetched automatically after statement execution.
; http://php.net/oci8.default-prefetch
;oci8.default_prefetch = 100
; Compatibility. Using On means oci_close() will not close
; oci_connect() and oci_new_connect() connections.
; http://php.net/oci8.old-oci-close-semantics
;oci8.old_oci_close_semantics = Off
httpd.conf的LoadModules部分
#LoadModule mpm_prefork_module libexec/mod_mpm_prefork.so
#LoadModule mpm_worker_module libexec/mod_mpm_worker.so
LoadModule authn_file_module libexec/mod_authn_file.so
#LoadModule authn_dbm_module libexec/mod_authn_dbm.so
#LoadModule authn_anon_module libexec/mod_authn_anon.so
#LoadModule authn_dbd_module libexec/mod_authn_dbd.so
#LoadModule authn_socache_module libexec/mod_authn_socache.so
LoadModule authn_core_module libexec/mod_authn_core.so
LoadModule authz_host_module libexec/mod_authz_host.so
LoadModule authz_groupfile_module libexec/mod_authz_groupfile.so
LoadModule authz_user_module libexec/mod_authz_user.so
#LoadModule authz_dbm_module libexec/mod_authz_dbm.so
#LoadModule authz_owner_module libexec/mod_authz_owner.so
#LoadModule authz_dbd_module libexec/mod_authz_dbd.so
LoadModule authz_core_module libexec/mod_authz_core.so
#LoadModule authnz_ldap_module libexec/mod_authnz_ldap.so
LoadModule access_compat_module libexec/mod_access_compat.so
LoadModule auth_basic_module libexec/mod_auth_basic.so
#LoadModule auth_form_module libexec/mod_auth_form.so
#LoadModule auth_digest_module libexec/mod_auth_digest.so
#LoadModule allowmethods_module libexec/mod_allowmethods.so
#LoadModule file_cache_module libexec/mod_file_cache.so
#LoadModule cache_module libexec/mod_cache.so
#LoadModule cache_disk_module libexec/mod_cache_disk.so
#LoadModule cache_socache_module libexec/mod_cache_socache.so
#LoadModule socache_shmcb_module libexec/mod_socache_shmcb.so
#LoadModule socache_dbm_module libexec/mod_socache_dbm.so
#LoadModule socache_memcache_module libexec/mod_socache_memcache.so
#LoadModule watchdog_module libexec/mod_watchdog.so
#LoadModule macro_module libexec/mod_macro.so
#LoadModule dbd_module libexec/mod_dbd.so
#LoadModule dumpio_module libexec/mod_dumpio.so
#LoadModule echo_module libexec/mod_echo.so
#LoadModule buffer_module libexec/mod_buffer.so
#LoadModule data_module libexec/mod_data.so
#LoadModule ratelimit_module libexec/mod_ratelimit.so
LoadModule reqtimeout_module libexec/mod_reqtimeout.so
#LoadModule ext_filter_module libexec/mod_ext_filter.so
#LoadModule request_module libexec/mod_request.so
#LoadModule include_module libexec/mod_include.so
LoadModule filter_module libexec/mod_filter.so
#LoadModule reflector_module libexec/mod_reflector.so
#LoadModule substitute_module libexec/mod_substitute.so
#LoadModule sed_module libexec/mod_sed.so
#LoadModule charset_lite_module libexec/mod_charset_lite.so
#LoadModule deflate_module libexec/mod_deflate.so
#LoadModule xml2enc_module libexec/mod_xml2enc.so
#LoadModule proxy_html_module libexec/mod_proxy_html.so
LoadModule mime_module libexec/mod_mime.so
#LoadModule ldap_module libexec/mod_ldap.so
LoadModule log_config_module libexec/mod_log_config.so
#LoadModule log_debug_module libexec/mod_log_debug.so
#LoadModule log_forensic_module libexec/mod_log_forensic.so
#LoadModule logio_module libexec/mod_logio.so
#LoadModule lua_module libexec/mod_lua.so
LoadModule env_module libexec/mod_env.so
#LoadModule mime_magic_module libexec/mod_mime_magic.so
#LoadModule expires_module libexec/mod_expires.so
LoadModule headers_module libexec/mod_headers.so
# Explicitly loaded per STIG
LoadModule usertrack_module libexec/mod_usertrack.so
#STIG ID: AS24-U1-000480 load mod_unique_id
LoadModule unique_id_module libexec/mod_unique_id.so
LoadModule setenvif_module libexec/mod_setenvif.so
LoadModule version_module libexec/mod_version.so
#LoadModule remoteip_module libexec/mod_remoteip.so
#LoadModule proxy_module libexec/mod_proxy.so
#LoadModule proxy_connect_module libexec/mod_proxy_connect.so
#LoadModule proxy_ftp_module libexec/mod_proxy_ftp.so
#LoadModule proxy_http_module libexec/mod_proxy_http.so
#LoadModule proxy_fcgi_module libexec/mod_proxy_fcgi.so
#LoadModule proxy_scgi_module libexec/mod_proxy_scgi.so
#LoadModule proxy_uwsgi_module libexec/mod_proxy_uwsgi.so
#LoadModule proxy_wstunnel_module libexec/mod_proxy_wstunnel.so
#LoadModule proxy_ajp_module libexec/mod_proxy_ajp.so
#LoadModule proxy_balancer_module libexec/mod_proxy_balancer.so
#LoadModule proxy_express_module libexec/mod_proxy_express.so
#LoadModule proxy_hcheck_module libexec/mod_proxy_hcheck.so
# Explicitly loaded per STIG
LoadModule session_module libexec/mod_session.so
#STIG ID: AS24-U1-000470 mod_session_cookie
LoadModule session_cookie_module libexec/mod_session_cookie.so
#LoadModule session_dbd_module libexec/mod_session_dbd.so
LoadModule slotmem_shm_module libexec/mod_slotmem_shm.so
#LoadModule slotmem_plain_module libexec/mod_slotmem_plain.so
#LoadModule ssl_module libexec/mod_ssl.so
#LoadModule dialup_module libexec/mod_dialup.so
#LoadModule lbmethod_byrequests_module libexec/mod_lbmethod_byrequests.so
#LoadModule lbmethod_bytraffic_module libexec/mod_lbmethod_bytraffic.so
#LoadModule lbmethod_bybusyness_module libexec/mod_lbmethod_bybusyness.so
#LoadModule lbmethod_heartbeat_module libexec/mod_lbmethod_heartbeat.so
LoadModule unixd_module libexec/mod_unixd.so
#LoadModule heartbeat_module libexec/mod_heartbeat.so
#LoadModule heartmonitor_module libexec/mod_heartmonitor.so
#LoadModule dav_module libexec/mod_dav.so
LoadModule status_module libexec/mod_status.so
LoadModule autoindex_module libexec/mod_autoindex.so
#LoadModule asis_module libexec/mod_asis.so
#LoadModule info_module libexec/mod_info.so
#LoadModule suexec_module libexec/mod_suexec.so
# Modified 02182020 mod_cgid and mod_cgi
<IfModule !mpm_prefork_module>
<IfDefine !prefork>
LoadModule cgid_module libexec/mod_cgid.so
</IfDefine>
</IfModule>
<IfModule mpm_prefork_module>
<IfDefine prefork>
LoadModule cgi_module libexec/mod_cgi.so
</IfDefine>
</IfModule>
#LoadModule dav_fs_module libexec/mod_dav_fs.so
#LoadModule dav_lock_module libexec/mod_dav_lock.so
#LoadModule vhost_alias_module libexec/mod_vhost_alias.so
#LoadModule negotiation_module libexec/mod_negotiation.so
LoadModule dir_module libexec/mod_dir.so
#LoadModule actions_module libexec/mod_actions.so
#LoadModule speling_module libexec/mod_speling.so
#LoadModule userdir_module libexec/mod_userdir.so
LoadModule alias_module libexec/mod_alias.so
#LoadModule rewrite_module libexec/mod_rewrite.so
# Add php module - 03052021
LoadModule php7_module libexec/libphp7.4.so
尝试最新的即时客户端(目前)19.13.
或者联系Oracle支持服务并询问Doc ID 2326447.1和bug 25083620,这是指r0_copy8_u2a_sparc9_vis1中的12c时代SEGV。