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] [email protected]
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] [email protected]
Sorry the close message was not what I meant ;)
------------------------------------------------------------------------
[2015-07-10 11:42:00] [email protected]
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