Title: PHP error
Last modified: October 12, 2025

---

# PHP error

 *  Resolved [ferasdour](https://wordpress.org/support/users/ferasdour/)
 * (@ferasdour)
 * [7 months, 3 weeks ago](https://wordpress.org/support/topic/php-error-698/)
 *     ```wp-block-code
       So, came across a kinda of neat ol' error. Unsure if it's related to other tickets, doesn't appear to look like it is from first glance, but i could be wrong.My lab (192.168.56.1:8030) I installed wpforms on. Then these requests:curl -s -v 'http://192.168.56.1:8030/wp-admin/admin.php?page[]=elementor' -o /dev/nullcurl -s -v 'http://192.168.56.1:8030/wp-admin/admin.php?page[]=wpforms' -o /dev/nullandcurl -s -o /dev/null 'http://192.168.56.1:8030/?page[]=anything'all produce the same error in debug logs:[12-Oct-2025 14:51:54 UTC] PHP Fatal error:  Uncaught TypeError: strpos(): Argument #1 ($haystack) must be of type string, array given in /var/www/html/wp-content/plugins/wpforms-lite/includes/functions/checks.php:199Stack trace:#0 /var/www/html/wp-content/plugins/wpforms-lite/includes/functions/checks.php(199): strpos(Array, 'wpforms')#1 /var/www/html/wp-content/plugins/wpforms-lite/src/Loader.php(525): wpforms_is_admin_page('overview')#2 /var/www/html/wp-content/plugins/wpforms-lite/src/Loader.php(45): WPForms\Loader->populate_forms_overview()#3 /var/www/html/wp-content/plugins/wpforms-lite/src/Loader.php(28): WPForms\Loader->populate_classes()#4 /var/www/html/wp-content/plugins/wpforms-lite/src/WPForms.php(429): WPForms\Loader->init()#5 /var/www/html/wp-content/plugins/wpforms-lite/src/WPForms.php(436): WPForms\WPForms->WPForms\{closure}()#6 /var/www/html/wp-content/plugins/wpforms-lite/src/WPForms.php(290): WPForms\WPForms->register(Array)#7 /var/www/html/wp-content/plugins/wpforms-lite/src/WPForms.php(224): WPForms\WPForms->includes_magic()#8 /var/www/html/wp-content/plugins/wpforms-lite/src/WPForms.php(161): WPForms\WPForms->includes()#9 /var/www/html/wp-content/plugins/wpforms-lite/src/WPForms.php(141): WPForms\WPForms->init()#10 /var/www/html/wp-content/plugins/wpforms-lite/src/WPForms.php(608): WPForms\WPForms::instance()#11 /var/www/html/wp-content/plugins/wpforms-lite/wpforms.php(250): wpforms()#12 /var/www/html/wp-settings.php(545): include_once('/var/www/html/w...')#13 /var/www/html/wp-config.php(145): require_once('/var/www/html/w...')#14 /var/www/html/wp-load.php(50): require_once('/var/www/html/w...')#15 /var/www/html/wp-blog-header.php(13): require_once('/var/www/html/w...')#16 /var/www/html/index.php(17): require('/var/www/html/w...')#17 {main}  thrown in /var/www/html/wp-content/plugins/wpforms-lite/includes/functions/checks.php on line 199Checking that line, i found this:    192 function wpforms_is_admin_page( $slug = '', $view = '' ): bool {    193    194         // phpcs:disable WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash    195    196         // Check against basic requirements.    197         if (    198                 empty( $_REQUEST['page'] ) ||    199                 strpos( $_REQUEST['page'], 'wpforms' ) === false ||    200                 ! is_admin()    201         ) {    202                 return false;    203         }which seems to be a pretty simple strpos not able to handle arrays or other non-strings properly.not sure if relevant but grepping similiar situations:wp-content/plugins/wpforms-lite/src/Admin/Dashboard/Widget.php:301:             return wpforms_is_admin_ajax() && isset( $_REQUEST['action'] ) && strpos( sanitize_key( $_REQUEST['action'] ), 'wpforms_dash_widget' ) !== false;wp-content/plugins/wpforms-lite/src/Forms/Akismet.php:171:                      isset( $_REQUEST['page_url'] ) && strpos( wp_unslash( $_REQUEST['page_url'] ), 'wpforms_form_preview' ) !== false &&wp-content/plugins/wpforms-lite/includes/functions/checks.php:199:              strpos( $_REQUEST['page'], 'wpforms' ) === false |This is just from a lab I setup recently in a container, this could entirely just be my environment, but wanted to share, for what it's worth.docker-compose.ymlservices:  wordpress:    image: wordpress:latest    ports:      - "8030:80"    environment:      WORDPRESS_DB_HOST: db:3306      WORDPRESS_DB_USER: tester      WORDPRESS_DB_PASSWORD: tester      WORDPRESS_DB_NAME: wordpress    depends_on:      - db  db:    image: mysql:5.7    restart: always    environment:      MYSQL_DATABASE: wordpress      MYSQL_USER: tester      MYSQL_PASSWORD: tester      MYSQL_ROOT_PASSWORD: roottester
       ```
   
 * If it’s of no relevance, or matter, feel free to close. But came across this 
   so wanted to share what I could about it.

Viewing 4 replies - 1 through 4 (of 4 total)

 *  Plugin Support [Amjad Ali](https://wordpress.org/support/users/amjadali688/)
 * (@amjadali688)
 * [7 months, 3 weeks ago](https://wordpress.org/support/topic/php-error-698/#post-18679560)
 * Hi [@ferasdour](https://wordpress.org/support/users/ferasdour/) ,
 * Thank you for providing details!
 * Our development team has been made aware of this and we are currently investigating.
   I will circle back as soon as I have some news!
 * Warm Regards,
 *  Plugin Support [Amjad Ali](https://wordpress.org/support/users/amjadali688/)
 * (@amjadali688)
 * [7 months, 2 weeks ago](https://wordpress.org/support/topic/php-error-698/#post-18691664)
 * Hi [@ferasdour](https://wordpress.org/support/users/ferasdour/) ,
 * Thanks for your patience. I have good news!
 * Our team created a patch to resolve the issue before releasing the new version
   of WPForms Lite.
 * You can download the checks.php file here: [https://a.supportally.com/f/m21598](https://a.supportally.com/f/m21598).
   Replace the existing `/wp-content/plugins/wpforms-lite/includes/functions/checks.
   php` file with the new one, and this should resolve the issue.
 * When you have a chance, please try this and let me know if it worked or if you
   have any questions.
 * Thanks!
 *  Thread Starter [ferasdour](https://wordpress.org/support/users/ferasdour/)
 * (@ferasdour)
 * [7 months, 2 weeks ago](https://wordpress.org/support/topic/php-error-698/#post-18693343)
 * Tested today with that fix, and yep that definitely stopped that error.
   Thank
   you.
 *  Plugin Support [Amjad Ali](https://wordpress.org/support/users/amjadali688/)
 * (@amjadali688)
 * [7 months, 2 weeks ago](https://wordpress.org/support/topic/php-error-698/#post-18694755)
 * Hi [@ferasdour](https://wordpress.org/support/users/ferasdour/) ,
 * Great to hear that the fix worked and the error has been resolved! 🙂
 * Thanks for letting us know, and I’m glad everything is running smoothly now.
 * Warm regards,

Viewing 4 replies - 1 through 4 (of 4 total)

The topic ‘PHP error’ is closed to new replies.

 * ![](https://ps.w.org/wpforms-lite/assets/icon.svg?rev=3254748)
 * [WPForms - Easy Form Builder for WordPress - Contact Forms, Payment Forms, Surveys, & More](https://wordpress.org/plugins/wpforms-lite/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/wpforms-lite/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/wpforms-lite/)
 * [Active Topics](https://wordpress.org/support/plugin/wpforms-lite/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/wpforms-lite/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/wpforms-lite/reviews/)

 * 4 replies
 * 2 participants
 * Last reply from: [Amjad Ali](https://wordpress.org/support/users/amjadali688/)
 * Last activity: [7 months, 2 weeks ago](https://wordpress.org/support/topic/php-error-698/#post-18694755)
 * Status: resolved