All checks were successful
cpanel-importer Build and Push / Build-and-Push (push) Successful in 53s
Container run on darkside completed end-to-end successfully (170,753 files scanned, 78 symlinks skipped via filter, 65 quarantined, walk errors = 0) — but the import log was flooded with PHP Warnings on every cpmove-internal symlink whose absolute target points outside the container's open_basedir allow-list: PHP Warning: is_link(): open_basedir restriction in effect. File(/host/sanitized/.../cybercoveconsulting.com/wp-content/db.php) is not within the allowed path(s): (/host:/tmp:...) The actual code path was correct — is_link() still returns true when warning, so the filter callback properly skipped these. But the noise made the streamed [container] log on the panel side unreadable (hundreds of warning lines per real signal line). Root cause: PHP's open_basedir check normalizes via realpath() even for is_link/is_file. cpmove symlinks like: db.php -> /home/<user>/<addon>.com/wp-content/db.php access-logs -> /usr/local/apache/domlogs/<user> cpanel-styled -> /usr/local/cpanel/base/frontend/.../glass have absolute targets that don't exist anywhere in the container (no /home, no /usr/local), so realpath() can't normalize them under any allow-list entry. PHP fires Warning, returns the lstat answer anyway, and our filter handles the skip correctly. Fix: a scoped set_error_handler around the walk that suppresses ONLY E_WARNINGs containing 'open_basedir restriction'. Non-open_basedir warnings still surface. The handler is restored immediately after the file-count loop, so subsequent stages (clamscan output parsing, quarantine actions) keep the default error reporting. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>