-
Notifications
You must be signed in to change notification settings - Fork 376
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enabling Zend opcache in PHP v7.1 returns MS-SQL driver errors #667
Comments
This is not an O/S issue or memory issue (128GB RAM on the server). The PHP v5.6 site runs on the same server as the PHP v7.1 site. When Zend opcache is enabled on the v5.6 version, there is no driver error. The only difference is the version of PHP and the version of the MS-SQL drivers. This points to an issue between Zend opcache and the drivers. I've already searched extensively for reports of this issue (none found), which is why I'm posting here. |
The error msg came from the underlying ODBC driver, not from PHP. I could see articles from others who got the same error reporting that it's not a memory or space issue either but had success after various solutions. There's actually an official Microsoft article describing how to solve this problem that I've included above, here it is again. Have you tried any or all of the suggestions in the article yet? I also found other answers on [stackoverflow] from others who had the same problem (https://stackoverflow.com/questions/8402472/error-in-iis-sql-server-not-enough-storage-is-available-to-process-this-command) but I would be more inclined to try the Microsoft suggestions first. |
I don't need to try those suggestions, they are irrelevant. The error message came from the ODBC driver only when Zend opcache was enabled in PHP v7.1, not in PHP v5.6. There is nothing wrong with O/S or with IIS; if there was, the error would also present itself when Zend opcache is disabled and with PHP v5.6 running on the same server. The problem may be with Zend opache in PHP v7.1, not with the MSSQL drivers, so perhaps I will post this issue on the PHP bug tracking site. |
Closing this issue as we have no problems enabling Zend opcache with the latest drivers with PHP 7.2. We repeated the tests against PHP 7.1 as well. No problem either. FYI, see how opcache is mentioned in issue #434. |
I have same problem with symfony console and pdo_sqlsrv (from php 7.1 to 7.3). |
Driver version or file name: php_pdo_sqlsrv_71_nts.dll - File version 4.1.8.9607 (32 bit)
SQL Server version: Microsoft SQL Server Express (64-bit) - 13.0.4206.0
Client operating system: Windows Server 2012 64-bit
PHP version: 7.1
Microsoft ODBC Driver version: 13
I'm upgrading an existing website from PHP v5.6 to v7.1. The only changes are the PHP version and the version of the MS-SQL PHP drivers.
Everything works as expected (as per previous site), except when I enable Zend opcache in php.ini. When I enable it, the site returns one of two error messages:
SQLSTATE[08001]: [Microsoft][ODBC Driver 13 for SQL Server]SQL Server Network Interfaces: Not enough storage is available to process this command. 1
or occasionally
Fatal error: No ODBC error was found [in calling script, sample code below]
try {
$conn = new PDO('sqlsrv:server='.MSSQL_SERVER.'; Database='.MSSQL_DB, MSSQL_USER, MSSQL_PWD);
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
}
catch(Exception $e)
{ die( print_r( $e->getMessage() ) ); }
The existing PHP v5.6 site has Zend opcache enabled and does not return errors. Changing opcache settings in v7.1 has no effect on the errors. If I disable Zend opcache, the errors disappear.
Update Jan 21 2018 - I also tried the RC 5.2.010419 32-bit version of php_pdo_sqlsrv_71_nts.dll, with the same result: driver errors when Zend opcache is enabled.
The text was updated successfully, but these errors were encountered: