My bad, I just tested it; it's not deleting the actual file anymore on my setup.It's immediate and permanent.
It could be PHP 8.5.x incompatibility. :|
My bad, I just tested it; it's not deleting the actual file anymore on my setup.It's immediate and permanent.
Do you have any attachment-related add-ons installed?I am on 8.3.28 and it appears to be doing the same here
If you are talking about the underlying attachment data file, XenForo only deletes them hourly as part of the attachment clean up. Internally, XenForo treats attachments and attachment data differently (there is anI tested a video file, if it matters, as it's easier to locate on R2 than to test an image attachment.
If not a PHP 8.3/8.5 issue, could it be XF 2.3.8?
Do you have any attachment-related add-ons installed?
xf_attachment table and a different xf_attachment_data table. When you delete an attachment, the attachment is immediately deleted, but the attachment data (which also includes the data file) is deleted as part of an hourly cleanup process.(http.request.uri.path.extension in {"css" "js" "png" "jpg" "jpeg" "gif" "ico" "svg" "webp" "woff" "woff2"})
@digitalpoint is there any reason you haven't considered to an option to set up Edge TTL for
?Code:(http.request.uri.path.extension in {"css" "js" "png" "jpg" "jpeg" "gif" "ico" "svg" "webp" "woff" "woff2"})
(ends_with(http.request.uri.path, ".7z")) or (ends_with(http.request.uri.path, ".avi")) or (ends_with(http.request.uri.path, ".bz2")) or (ends_with(http.request.uri.path, ".csv")) or (ends_with(http.request.uri.path, ".css")) or (ends_with(http.request.uri.path, ".dmg")) or (ends_with(http.request.uri.path, ".doc")) or (ends_with(http.request.uri.path, ".docx")) or (ends_with(http.request.uri.path, ".eps")) or (ends_with(http.request.uri.path, ".exe")) or (ends_with(http.request.uri.path, ".gif")) or (ends_with(http.request.uri.path, ".gz")) or (ends_with(http.request.uri.path, ".ico")) or (ends_with(http.request.uri.path, ".iso")) or (ends_with(http.request.uri.path, ".jar")) or (ends_with(http.request.uri.path, ".jpeg")) or (ends_with(http.request.uri.path, ".jpg")) or (ends_with(http.request.uri.path, ".js")) or (ends_with(http.request.uri.path, ".mid")) or (ends_with(http.request.uri.path, ".midi")) or (ends_with(http.request.uri.path, ".mp3")) or (ends_with(http.request.uri.path, ".mp4")) or (ends_with(http.request.uri.path, ".mpeg")) or (ends_with(http.request.uri.path, ".ogg")) or (ends_with(http.request.uri.path, ".pdf")) or (ends_with(http.request.uri.path, ".ppt")) or (ends_with(http.request.uri.path, ".pptx")) or (ends_with(http.request.uri.path, ".rar")) or (ends_with(http.request.uri.path, ".tar")) or (ends_with(http.request.uri.path, ".svg")) or (ends_with(http.request.uri.path, ".svgz")) or (ends_with(http.request.uri.path, ".ttf")) or (ends_with(http.request.uri.path, ".webm")) or (ends_with(http.request.uri.path, ".webp")) or (ends_with(http.request.uri.path, ".woff")) or (ends_with(http.request.uri.path, ".woff2")) or (ends_with(http.request.uri.path, ".xls")) or (ends_with(http.request.uri.path, ".xlsx")) or (ends_with(http.request.uri.path, ".zip"))
http.request.uri.path.extension is a thing, and probably could use some extra extensions like avif.That's weird, I don't see that cache rule on the CF account (even creating a new API key). What should I do to force the creation of it? By default it isn't createdIt already does (and has for a long time). This expression for a Cache Rule was generated by this addon for example:
It doesn’t add rules unless you ask it to.That's weird, I don't see that cache rule on the CF account (even creating a new API key). What should I do to force the creation of it? By default it isn't created
- ValueError: inet_pton(): Argument #1 ($ip) must not contain any null bytes
- src/XF/Util/Ip.php:14
- Generated by: Unknown account
- Feb 8, 2026 at 4:23 PM
Stack trace
#0 src/XF/Util/Ip.php(14): inet_pton([invalid])
#1 src/XF/Entity/Ip.php(25): XF\Util\Ip::stringToBinary([invalid], false)
#2 src/XF/Mvc/Entity/Entity.php(842): XF\Entity\Ip->verifyIp([invalid], 'ip', 6, Array)
#3 src/XF/Mvc/Entity/Entity.php(683): XF\Mvc\Entity\Entity->_verifyValueCustom([invalid], 'ip', 6, Array)
#4 src/XF/Mvc/Entity/Entity.php(618): XF\Mvc\Entity\Entity->set('ip', [invalid])
#5 src/XF/Repository/IpRepository.php(29): XF\Mvc\Entity\Entity->__set('ip', [invalid])
#6 src/XF/Service/Post/PreparerService.php(254): XF\Repository\IpRepository->logIp(25492, [invalid], 'post', 150769)
#7 src/XF/Service/Post/PreparerService.php(199): XF\Service\Post\PreparerService->writeIpLog([invalid])
#8 src/XF/Service/Thread/ReplierService.php(236): XF\Service\Post\PreparerService->afterInsert()
#9 src/addons/DigitalPoint/Analytics/XF/Service/Thread/Replier.php(9): XF\Service\Thread\ReplierService->_save()
#10 src/XF/Service/ValidateAndSavableTrait.php(42): DigitalPoint\Analytics\XF\Service\Thread\Replier->_save()
#11 src/XF/PreRegAction/Thread/Reply.php(47): XF\Service\Thread\ReplierService->save()
#12 src/XF/PreRegAction/AbstractHandler.php(132): XF\PreRegAction\Thread\Reply->executeAction(Object(XF\Entity\PreRegAction), Object(SV\SearchImprovements\XF\Entity\ThreadCollab), Object(SV\ElasticSearchEssentials\XF\Entity\User))
#13 src/XF.php(914): XF\PreRegAction\AbstractHandler->XF\PreRegAction\{closure}()
#14 src/XF/PreRegAction/AbstractHandler.php(125): XF::asVisitor(Object(SV\ElasticSearchEssentials\XF\Entity\User), Object(Closure))
#15 src/XF/Repository/PreRegActionRepository.php(96): XF\PreRegAction\AbstractHandler->completeAction(Object(XF\Entity\PreRegAction), Object(SV\ElasticSearchEssentials\XF\Entity\User))
#16 src/XF/Repository/PreRegActionRepository.php(126): XF\Repository\PreRegActionRepository->completeUserAction(Object(SV\ElasticSearchEssentials\XF\Entity\User), NULL)
#17 src/XF/ControllerPlugin/LoginPlugin.php(199): XF\Repository\PreRegActionRepository->completeUserActionIfPossible(Object(SV\ElasticSearchEssentials\XF\Entity\User), NULL)
#18 src/addons/SV/UserAutocomplete/XF/ControllerPlugin/Login.php(15): XF\ControllerPlugin\LoginPlugin->completeLogin(Object(SV\ElasticSearchEssentials\XF\Entity\User), true)
#19 src/XF/Pub/Controller/LoginController.php(183): SV\UserAutocomplete\XF\ControllerPlugin\Login->completeLogin(Object(SV\ElasticSearchEssentials\XF\Entity\User), true)
#20 src/addons/DigitalPoint/Analytics/XF/Pub/Controller/Login.php(13): XF\Pub\Controller\LoginController->actionLogin(Object(XF\Mvc\ParameterBag))
#21 src/XF/Mvc/Dispatcher.php(362): DigitalPoint\Analytics\XF\Pub\Controller\Login->actionLogin(Object(XF\Mvc\ParameterBag))
#22 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('XF:Login', 'Login', Object(XF\Mvc\RouteMatch), Object(DigitalPoint\Cloudflare\XF\Pub\Controller\Login), NULL)
#23 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(DigitalPoint\Cloudflare\XF\Pub\Controller\Login), NULL)
#24 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#25 src/XF/App.php(2824): XF\Mvc\Dispatcher->run()
#26 src/XF.php(814): XF\App->run()
#27 index.php(23): XF::runApp('XF\\Pub\\App')
#28 {main}
Request state
array(4) {
["url"] => string(12) "/login/login"
["referrer"] => string(30) "https://rvforums.com/register/"
["_GET"] => array(0) {
}
["_POST"] => array(5) {
["_xfToken"] => string(8) "********"
["login"] => string(10) "[removed]"
["password"] => string(8) "********"
["remember"] => string(1) "1"
["_xfRedirect"] => string(30) "https://rvforums.com/register/"
}
}
It is not, although I do know what the issue is. PHP changed howIs this error related to this add-on?
inet_pton() works in PHP versions 8.5.1, 8.4.16, 8.3.29, 8.2.30 and 8.1.34
A server error occurred. Please try again later.
ValueError: inet_pton(): Argument #1 ($ip) must not contain any null bytes src/XF/Util/Ip.php:14
Generated by: Unknown account Jan 16, 2026 at 9:58 PM
Stack trace
#0...
XF/Util/Ip.php to make it compatible with the newer versions of PHP.Yep, the PHP change was made in 8.3.29, so will be part of any version after that.Thank you. I'm using PHP 8.3.30.
Without an error of some sort, no.Hi Digital, I have a question regarding an issue with cron tasks on my forum. I noticed on the Cron Entries page that all tasks, including News Publisher, AMS, and even native XenForo cron jobs, were stuck with a “Next run” date of February 9, which was three days in the past. Because of this, nothing was publishing automatically. I also tried setting up a cron job manually through cPanel, but the issue persisted. This problem started after I updated to the latest version of XenForo. To troubleshoot, I began disabling add ons one by one. As soon as I disabled the Cloudflare add on, all scheduled tasks immediately began running again.
Do you have any idea what might be causing this?
- Added additional extensions to the Cache Rule for caching static content
- New Cloudflare Security option: Markdown for Agents
ErrorException: [E_WARNING] Trying to access array offset on value of type bool in src/addons/DigitalPoint/Cloudflare/Repository/Cloudflare.php at line 1138digitalpoint submitted a new resource:
[DigitalPoint] Cloudflare - Configure and manage Cloudflare from within XenForo.
Read more about this resource...
Is your domain setup as zone in your Cloudflare account? That error implies there’s an issue retrieving settings for your zone.ErrorException: [E_WARNING] Trying to access array offset on value of type bool in src/addons/DigitalPoint/Cloudflare/Repository/Cloudflare.php at line 1138
Bu hataları alıyorum api çalısıyor bir peoblem yok ve dili türkçeye çeviremedim
- XF::handlePhpError() insrc/addons/DigitalPoint/Cloudflare/Repository/Cloudflare.php at line 1138
- DigitalPoint\Cloudflare\Repository\CloudflareAbstract->getZoneSettings() insrc/addons/DigitalPoint/Cloudflare/Repository/Cloudflare.php at line 816
- DigitalPoint\Cloudflare\Repository\CloudflareAbstract->organizeSettings() insrc/addons/DigitalPoint/Cloudflare/Admin/Controller/Cloudflare.php at line 50
- DigitalPoint\Cloudflare\Admin\Controller\Cloudflare->actionIndex() insrc/XF/Mvc/Dispatcher.php at line 362
- XF\Mvc\Dispatcher->dispatchClass() insrc/XF/Mvc/Dispatcher.php at line 265
- XF\Mvc\Dispatcher->dispatchFromMatch() insrc/XF/Mvc/Dispatcher.php at line 121
- XF\Mvc\Dispatcher->dispatchLoop() insrc/XF/Mvc/Dispatcher.php at line 63
- XF\Mvc\Dispatcher->run() in src/XF/App.phpat line 2824
- XF\App->run() in src/XF.php at line 814
- XF::runApp() in admin.php at line 15
We use essential cookies to make this site work, and optional cookies to enhance your experience.