8000 OPCache bug · Issue #1653 · microsoftgraph/msgraph-sdk-php · GitHub
[go: up one dir, main page]

Skip to content

OPCache bug #1653

@Buzka91

Description

@Buzka91

Describe the bug

Hi,

I'm using your library for Microsoft SSO. I only need to fetch basic user information like: getId, getMail, getGivenName, getSurname, and getUserPrincipalName. I’m doing this with the following script:

However, the doctrine/annotations library recently fixed a bug that affects our integration: https://github.com/doctrine/annotations/pull/446/files

I’m using OPCache, so option opcache.save_comments with the flag value set as 0. So while you are using PhpDoc I'm getting error from: https://github.com/doctrine/annotations/blob/2.0.x/lib/Doctrine/Common/Annotations/AnnotationReader.php#L122

Expected behavior

The only place where PhpDoc data is read is here: https://github.com/microsoft/kiota-abstractions-php/blob/main/src/RequestInformation.php#L66 - and microsoft/kiota-abstractions-php is a dependency of microsoftgraph/msgraph-sdk-php-core.

The dependency chain is quite large, but it seems that in my case, I don’t have any query parameters - and those are likely required for this issue to occur.

How can I work around this problem, aside from enabling comments in the cache?

How to reproduce

Set option opcache.save_comments with the flag value as 0

$tokenRequestContext = new AuthorizationCodeContext(
    tenantId: $config['tenant'],
    clientId: $config['clientId'],
    clientSecret: $config['clientSecret'],
    authCode: $params[self::PARAM_IN_CODE],
    redirectUri: $config['redirectUri'],
);

$graphServiceClient = new GraphServiceClient($tokenRequestContext, $config['scopes']);

$user = $graphServiceClient->me()->get()->wait();

$userData = [
    'id' => $user->getId(),
    'userPrincipalName' => $user->getUserPrincipalName(),
    'userEmail' => $user->getMail(),
    'userFirstName' => $user->getGivenName(),
    'userLastName' => $user->getSurname(),
];

// ...

SDK Version

2.25.0

Latest version known to work for scenario above?

No response

Known Workarounds

No response

Debug output

Click to expand log ```
</details>


### Configuration

_No response_

### Other information

_No response_

Metadata

Metadata

Assignees

No one assigned

    Labels

    status:waiting-for-triageAn issue that is yet to be reviewed or assignedtype:bugA broken experience

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0