Edit report at https://bugs.php.net/bug.php?id=70039&edit=1
ID: 70039 User updated by: spam2 at rhsoft dot net Reported by: spam2 at rhsoft dot net Summary: MySQL PDO ignores env-vars Status: Not a bug Type: Bug Package: Testing related PHP Version: 5.5.27 Block user comment: N Private report: N New Comment: FWIW with 5.6.11 %check %if %runselftest ulimit -s 32712 cd build-apache export MYSQL_TEST_PARAM="php_autotest" export NO_INTERACTION=1 REPORT_EXIT_STATUS=1 MALLOC_CHECK_=2 MYSQL_TEST_HOST="localhost" MYSQL_TEST_PORT="3306" MYSQL_TEST_USER="$MYSQL_TEST_PARAM" MYSQL_TEST_PASSWD="$MYSQL_TEST_PARAM" MYSQL_TEST_DB="$MYSQL_TEST_PARAM" PDO_MYSQL_TEST_DSN="mysql:host=localhost;dbname=$MYSQL_TEST_PARAM" PDO_MYSQL_TEST_SOCKET="%{_sharedstatedir}/mysql/mysql.sock" PDO_MYSQL_TEST_USER="$MYSQL_TEST_PARAM" PDO_MYSQL_TEST_PASS="$MYSQL_TEST_PARAM" PDO_MYSQL_TEST_ENGINE="MyISAM" export LANG=C if ! make test; then set +x for f in `find .. -name \*.diff -type f -print`; do echo "TEST FAILURE: $f --" cat "$f" echo "-- $f result ends." done set -x fi %endif FAILED TEST SUMMARY --------------------------------------------------------------------- PHP encoding setting test [tests/basic/encoding.phpt] Zend Multibyte and UTF-8 BOM [Zend/tests/multibyte/multibyte_encoding_002.phpt] Zend Multibyte and UTF-16 BOM [Zend/tests/multibyte/multibyte_encoding_003.phpt] Test iconv_set_encoding() function : error functionality [ext/iconv/tests/iconv_set_encoding_variation.phpt] mysqli autocommit/commit/rollback [ext/mysqli/tests/014.phpt] mysqli autocommit/commit/rollback with innodb [ext/mysqli/tests/015.phpt] Bug #42548 PROCEDURE xxx can't return a result set in the given context (works in 5.2.3!!) [ext/mysqli/tests/bug42548.phpt] Bug #44879 (failed to prepare statement) [ext/mysqli/tests/bug44897.phpt] Bug #51647 (Certificate file without private key (pk in another file) doesn't work) [ext/mysqli/tests/bug51647.phpt] Bug #55283 (SSL options set by mysqli_ssl_set ignored for MySQLi persistent connections) [ext/mysqli/tests/bug55283.phpt] mysqli_autocommit() [ext/mysqli/tests/mysqli_autocommit.phpt] mysqli->autocommit() [ext/mysqli/tests/mysqli_autocommit_oo.phpt] mysqli_begin_transaction() [ext/mysqli/tests/mysqli_begin_transaction.phpt] mysqli_change_user() - ROLLBACK [ext/mysqli/tests/mysqli_change_user_rollback.phpt] Interface of the class mysqli_driver [ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt] Interface of the class mysqli [ext/mysqli/tests/mysqli_class_mysqli_properties_no_conn.phpt] mysqli_fetch_field() - flags/field->flags [ext/mysqli/tests/mysqli_fetch_field_flags.phpt] mysqli_query() [ext/mysqli/tests/mysqli_query.phpt] mysqli_query() - Stored Procedures [ext/mysqli/tests/mysqli_query_stored_proc.phpt] mysqli_query() - unicode (cyrillic) [ext/mysqli/tests/mysqli_query_unicode.phpt] mysqli_real_query() [ext/mysqli/tests/mysqli_real_query.phpt] mysqli_report() [ext/mysqli/tests/mysqli_report.phpt] mysqli_rollback() [ext/mysqli/tests/mysqli_rollback.phpt] mysqli_stmt_execute() - Stored Procedures [ext/mysqli/tests/mysqli_stmt_execute_stored_proc.phpt] Multiple result set with PS [ext/mysqli/tests/mysqli_stmt_multires.phpt] mysqli_store_result() [ext/mysqli/tests/mysqli_store_result_copy.phpt] Bug #54929 (Parse error with single quote in sql comment (pdo-mysql)) [ext/pdo_mysql/tests/bug54929.phpt] MySQL PDO->__construct() - Generic + DSN [ext/pdo_mysql/tests/pdo_mysql___construct.phpt] MySQL PDO->exec(), affected rows [ext/pdo_mysql/tests/pdo_mysql_exec_load_data.phpt] MySQL PDOStatement->nextRowSet() with PDO::MYSQL_ATTR_MULTI_STATEMENTS either true or false [ext/pdo_mysql/tests/pdo_mysql_multi_stmt_nextrowset.phpt] use_trans_sid should not affect SID [ext/session/tests/015.phpt] rewriter correctly handles attribute names which contain dashes [ext/session/tests/018.phpt] rewriter uses arg_separator.output for modifying URLs [ext/session/tests/020.phpt] Bug #26862 (ob_flush() before output_reset_rewrite_vars() results in data loss) [ext/session/tests/bug26862.phpt] Bug #31454 (Incorrect adding PHPSESSID to links, which contains \r\n) [ext/session/tests/bug36459.phpt] Bug #41600 (url rewriter tags doesn't work with namespaced tags) [ext/session/tests/bug41600.phpt] Bug #50308 (session id not appended properly for empty anchor tags) [ext/session/tests/bug50308.phpt] Bug #66481: Calls to session_name() segfault when session.name is null. [ext/session/tests/bug66481.phpt] Test session.hash_function ini setting : basic functionality [ext/session/tests/session_hash_function_basic.phpt] Bug #44394 (Last two bytes missing from output) [ext/standard/tests/general_functions/bug44394.phpt] Bug #44394 (Last two bytes missing from output) with session.use_trans_id [ext/standard/tests/general_functions/bug44394_2.phpt] Bug #38802 (ignore_errors and max_redirects) [ext/standard/tests/http/bug38802.phpt] Bug #48929 (duplicate \r\n sent after last header line) [ext/standard/tests/http/bug48929.phpt] Bug #53198 (From: header cannot be changed with ini_set) [ext/standard/tests/http/bug53198.phpt] Bug #61548 (content-type must appear at the end of headers) [ext/standard/tests/http/bug61548.phpt] Bug #65634 (HTTP wrapper is very slow with protocol_version 1.1) [ext/standard/tests/http/bug65634.phpt] Bug #67430 (http:// wrapper doesn't follow 308 redirects) [ext/standard/tests/http/bug67430.phpt] http:// and ignore_errors [ext/standard/tests/http/ignore_errors.phpt] Bug #26817 (http_build_query() did not handle private & protected object properties) [ext/standard/tests/strings/bug26817.phpt] Test htmlentities() function [ext/standard/tests/strings/htmlentities24.phpt] http_build_query() function [ext/standard/tests/strings/http_build_query.phpt] Test http_build_query() function: usage variations - first arguments as object [ext/standard/tests/strings/http_build_query_variation1.phpt] Test http_build_query() function: usage variations - first arguments as multidimensional array and second argument present/not present [ext/standard/tests/strings/http_build_query_variation2.phpt] Test http_build_query() function: usage variations - testing four parameter added in PHP 5.4.0 [ext/standard/tests/strings/http_build_query_variation3.phpt] Test function show_source() by calling it with its expected arguments, more test for highlight_file() [ext/standard/tests/strings/show_source_basic.phpt] Test function show_source() by calling it with its expected arguments and php output, more test for highlight_file() [ext/standard/tests/strings/show_source_variation1.phpt] Test function show_source() by calling it with its expected arguments and output to variable, more test for highlight_file() [ext/standard/tests/strings/show_source_variation2.phpt] Previous Comments: ------------------------------------------------------------------------ [2015-07-10 12:41:58] spam2 at rhsoft dot net XFAIL PDO MySQL Bug #41997 (stored procedure call returning single rowset blocks future queries) [ext/pdo_mysql/tests/bug_41997.phpt] XFAIL REASON: nextRowset() problem with stored proc & emulation mode & mysqlnd FAIL MySQL PDO->__construct() - Generic + DSN [ext/pdo_mysql/tests/pdo_mysql___construct.phpt] FAIL MySQL PDO->exec(), affected rows [ext/pdo_mysql/tests/pdo_mysql_exec_load_data.phpt] > PDO uses a DSN, so that's what you need to provide for the tests to run nonsense, it's not rocket science generate the string "mysql:host=localhost;dbname=php_autotest" out of the already given MYSQL_TEST vars the PDO_MYSQL vars seem to work, a few tests fail on 5.6.11 (i know that bugreport is for 5.5.27 but i did not want to rebuild on the production evironment which needs to stay at 5.5.x because careless regeressions like https://bugs.php.net/bug.php?id=68344 and https://bugs.php.net/bug.php?id=70038 PDO MySQL Bug #41997 (stored procedure call returning single rowset blocks future queries) [ext/pdo_mysql/tests/bug_41997.phpt] XFAIL REASON: nextRowset() problem with stored proc & emulation mode & mysqlnd MySQL PDOStatement->nextRowSet() [ext/pdo_mysql/tests/pdo_mysql_stmt_nextrowset.phpt] XFAIL REASON: nextRowset() problem with stored proc & emulation mode & mysqlnd MySQL PDO->prepare(), emulated PS [ext/pdo_mysql/tests/pdo_mysql_prepare_emulated.phpt] (warn: XFAIL section but test passes) ------------------------------------------------------------------------ [2015-07-10 11:59:33] mbecc...@php.net PDO uses a DSN, so that's what you need to provide for the tests to run. MYSQL_TEST_* vars are for the mysql and mysqli tests, so they have nothing to do with PDO tests. I don't see any security issue in the using default localhost/root/nopassword combination. If your own mysql allows the root user without a password, the problem is on your side. ------------------------------------------------------------------------ [2015-07-10 11:52:26] spam2 at rhsoft dot net > When using the mysqli extension together with the > mysql extension you have to use the same libraries > and include files. mysqli extension requires the > location of mysql_config file, mysql > extension requires the path of your > mysql installation uhm for sure not, libmysql is not part of the game :-) --without-mysql \ --with-mysqli=mysqlnd \ --with-mysql-sock=%{_sharedstatedir}/mysql/mysql.sock \ --with-pdo-mysql=shared,mysqlnd \ i give the PDO_TEST vars a try while i need to google what PDOTEST_DSN is supposed to look like but in any case it is a bug that the credentials and settings of the MYSQL_TEST are not used everywhere because when the dangerous default root without a password don't work and you override that it's pretty clear that the same hits all other parts trying to speak with mysqld MYSQL_TEST_HOST="localhost" MYSQL_TEST_PORT="3306" MYSQL_TEST_USER="php_autotest" MYSQL_TEST_PASSWD="*****" MYSQL_TEST_DB="php_autotest" ------------------------------------------------------------------------ [2015-07-10 11:42:36] mbecc...@php.net Sorry the close message was not what I meant ;) ------------------------------------------------------------------------ [2015-07-10 11:42:00] mbecc...@php.net When using the mysqli extension together with the mysql extension you have to use the same libraries and include files. mysqli extension requires the location of mysql_config file, mysql extension requires the path of your mysql installation. If you installed MySQL 4.1 for example with prefix /usr/local/mysql-4.1 your configure settings should be --with-mysql=/usr/local/mysql-4.1 --with-mysqli=/usr/local/mysql-4.1/bin/mysql_config ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=70039 -- Edit this bug report at https://bugs.php.net/bug.php?id=70039&edit=1 -- PHP Quality Assurance Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php