# 'session.cookie\_domain' is not a valid sessions-related ini setting

**URL:** <https://discourse.laminas.dev/t/session-cookie-domain-is-not-a-valid-sessions-related-ini-setting/3202>\
**Category:** Components & MVC\
**Tags:** laminas-session\
**Created:** [February 10, 2023, 7:28am UTC](https://discourse.laminas.dev/t/session-cookie-domain-is-not-a-valid-sessions-related-ini-setting/3202 "2023-02-10T07:28:03Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chithra\_C.T](https://avatars.discourse-cdn.com/v4/letter/c/858c86/32.png) [@Chithra\_C.T](https://discourse.laminas.dev/u/Chithra_C.T)\
**Post date:** [February 10, 2023, 7:28am UTC](https://discourse.laminas.dev/t/session-cookie-domain-is-not-a-valid-sessions-related-ini-setting/3202/1 "2023-02-10T07:28:03Z")

</div>

We have upgraded PHP version to 8.2.1 from 7.1.33. When we run PHPUnit tests, it gives the below errors:

```auto
Laminas\Session\Exception\InvalidArgumentException: 'session.name' is not a valid sessions-related ini setting. in vendor/laminas/laminas-session/src/Config/SessionConfig.php:187

Laminas\Session\Exception\InvalidArgumentException: 'session.cookie_domain' is not a valid sessions-related ini setting. in vendor/laminas/laminas-session/src/Config/SessionConfig.php:187

```

composer.json:

```auto
"require": {
    "php": "~8.2",
    "doctrine/dbal": "~3.5.3",
    "predis/predis": "^1.1",
    "laminas/laminas-session": "^2.16",
    "laminas/laminas-cache": "^3.10",
    "cytec/laminas-cache-predis": "^2.0.0",
    "psr/http-server-middleware": "^1.0",
    "psr/http-factory": "^1.0",
    "php-http/guzzle6-adapter": "^2.0"
  },
  "require-dev": {
    "phpunit/phpunit": "^9.5",
    "squizlabs/php_codesniffer": "^3.7",
    "phpstan/phpstan": "^1.9",
    "phpstan/extension-installer": "^1.2",
    "phpstan/phpstan-phpunit": "^1.3",
    "symfony/phpunit-bridge": "^6.2",
    "symfony/var-dumper": "^6.2",
    "symfony/dotenv": "^6.2",
    "symfony/yaml": "^6.2",
    "laminas/laminas-validator": "^2.13"
  }

```

The issue is related to ini\_set() of session variables called via setCookieDomain/setName methods. This worked fine with PHP 7.1, phpunit/phpunit 7.5, and laminas/laminas-session 2.9.

Can anyone please help me with this?

---

<div class="post-metadata">

**Author:** ![froschdesign](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.laminas.dev/froschdesign/32/38_2.png) [@froschdesign](https://discourse.laminas.dev/u/froschdesign)\
**Post date:** [February 10, 2023, 7:36am UTC](https://discourse.laminas.dev/t/session-cookie-domain-is-not-a-valid-sessions-related-ini-setting/3202/2 "2023-02-10T07:36:56Z")

</div>

Do you set some configuration for laminas-session, like `cookie_domain` or `name `? If so, what does this look like?

> **[Session Config - laminas-session - Laminas Docs](https://docs.laminas.dev/laminas-session/config/)**
>
> Object-oriented interface to PHP sessions and storage.

---

<div class="post-metadata">

**Author:** ![Chithra\_C.T](https://avatars.discourse-cdn.com/v4/letter/c/858c86/32.png) [@Chithra\_C.T](https://discourse.laminas.dev/u/Chithra_C.T)\
**Post date:** [February 10, 2023, 7:49am UTC](https://discourse.laminas.dev/t/session-cookie-domain-is-not-a-valid-sessions-related-ini-setting/3202/3 "2023-02-10T07:49:17Z")

</div>

We use the below configuration:

```auto
$sessionConfig = new SessionConfig();
$sessionConfig
    ->setUseCookies(true)
    ->setName('abcd')
    ->setCookieDomain('.test-domain.com');
    
new SessionManager($sessionConfig);

```

---

<div class="post-metadata">

**Author:** ![froschdesign](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.laminas.dev/froschdesign/32/38_2.png) [@froschdesign](https://discourse.laminas.dev/u/froschdesign)\
**Post date:** [February 10, 2023, 8:41am UTC](https://discourse.laminas.dev/t/session-cookie-domain-is-not-a-valid-sessions-related-ini-setting/3202/4 "2023-02-10T08:41:04Z")

</div>

This looks good and also works outside of unit tests, so the problem is probably in the test setup.

---

<div class="post-metadata">

**Author:** ![Chithra\_C.T](https://avatars.discourse-cdn.com/v4/letter/c/858c86/32.png) [@Chithra\_C.T](https://discourse.laminas.dev/u/Chithra_C.T)\
**Post date:** [February 10, 2023, 9:51am UTC](https://discourse.laminas.dev/t/session-cookie-domain-is-not-a-valid-sessions-related-ini-setting/3202/5 "2023-02-10T09:51:17Z")

</div>

Yes. If we call ini\_set(‘session.name’, ‘abcd’) from PHPUnit setUpBeforeClass() gives the same error.

---

<div class="post-metadata">

**Author:** ![earthiverse](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.laminas.dev/earthiverse/32/1660_2.png) [@earthiverse](https://discourse.laminas.dev/u/earthiverse)\
**Post date:** [January 29, 2025, 4:16am UTC](https://discourse.laminas.dev/t/session-cookie-domain-is-not-a-valid-sessions-related-ini-setting/3202/6 "2025-01-29T04:16:26Z")

</div>

I’m getting a similar error running PHPStan through PHPStorm’s integration.  
I don’t get the error running PHPStan through the command line, though…

The line gets called through [slam/phpstan-laminas-framework](https://github.com/Slamdunk/phpstan-laminas-framework).

```auto
phpstan: PHP Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in /Users/earthiverse/Sites/apartments/vendor/laminas/laminas-session/src/Config/SessionConfig.php on line 181

Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in /Users/earthiverse/Sites/apartments/vendor/laminas/laminas-session/src/Config/SessionConfig.php on line 181

In ServiceManager.php line 649: Service with name "Laminas\Session\Config\ConfigInterface" could not be created. Reason: 'session.cookie_lifetime' is not a valid sessions-related ini setting.

In SessionConfig.php line 188: 'session.cookie_lifetime' is not a valid sessions-related ini setting.

```

---

<div class="post-metadata">

**Author:** ![froschdesign](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.laminas.dev/froschdesign/32/38_2.png) [@froschdesign](https://discourse.laminas.dev/u/froschdesign)\
**Post date:** [January 29, 2025, 10:44am UTC](https://discourse.laminas.dev/t/session-cookie-domain-is-not-a-valid-sessions-related-ini-setting/3202/7 "2025-01-29T10:44:39Z")

</div>

Something is not working in tests. See the related code:

> <https://github.com/laminas/laminas-session/blob/799aeb8c9fc42763966d9d18789f88e96280f7b4/src/Config/SessionConfig.php#L181-L191>

---

<div class="post-metadata">

**Author:** ![earthiverse](https://yyz2.discourse-cdn.com/flex032/user_avatar/discourse.laminas.dev/earthiverse/32/1660_2.png) [@earthiverse](https://discourse.laminas.dev/u/earthiverse)\
**Post date:** [January 30, 2025, 12:37am UTC](https://discourse.laminas.dev/t/session-cookie-domain-is-not-a-valid-sessions-related-ini-setting/3202/8 "2025-01-30T00:37:12Z")

</div>

Indeed, it was user (me!) error.

I had ‘autoload file’ erroneously set it PHPStorm.

 ![Screenshot 2025-01-30 at 9.32.43 AM](https://canada1.discourse-cdn.com/flex032/uploads/zendframework/original/2X/0/0ef8b92c6acb9df80cd0e66ff0f19dc6474f0123.jpeg)

Removed that, and everything works 🙂
