1

I'm trying to install wordpress locally. I've installed mysql (MariaDB) and php-mysqli. I have user created and database from mysql console and I have this 3 files:

$ cd /etc/php.d/
$ cat 30-mysqli.ini 30-pdo_mysql.ini 20-mysqlnd.ini 
; Enable mysqli extension module
extension=mysqli.so
; Enable pdo_mysql extension module
extension=pdo_mysql.so
; Enable mysqlnd extension module
extension=mysqlnd.so

added automatically when I've installed php-mysqli. The files exists in /usr/lib64/php/modules/

but I've restarted httpd server

sudo systemctl restart httpd

still I've got error:

Call to undefined function mysqli_connect()

when using code:

 $link = mysqli_connect("localhost", "wordpress", "wordpress", "wordpress");

When I run phpinfo() I got this in modules section, but no configuration for mysql and pdo configuration have only sqlite.

mysql modules for php

function get_loaded_extensions() don't return mysql extension.

And php -i show config for mysql and mysql pdo.

I've also tried to restart the system but this didn't take any effect.

How can I install php + mysql on Fedora 27? I have php 7.1.22.

EDIT: it seems that the ini files for mysql are not parsed they are not on the list of files. The files are read access and they are owned by root like other files:

$ ls -l {30-mysqli.ini,30-pdo_mysql.ini,20-mysqlnd.ini}
-rw-r--r--. 1 root root 55 09-12 07:12 20-mysqlnd.ini
-rw-r--r--. 1 root root 53 09-12 07:12 30-mysqli.ini
-rw-r--r--. 1 root root 59 09-12 07:12 30-pdo_mysql.ini

EDIT2:

$ php --ri mysqli && php --ri mysqlnd && php --ri pdo && php --ri pdo_mysql

mysqli

MysqlI Support => enabled
Client API library version => mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
Active Persistent Links => 0
Inactive Persistent Links => 0
Active Links => 0

Directive => Local Value => Master Value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.allow_persistent => On => On
mysqli.rollback_on_cached_plink => Off => Off
mysqli.default_host => localhost => localhost
mysqli.default_user => no value => no value
mysqli.default_pw => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_socket => /var/lib/mysql/mysql.sock => /var/lib/mysql/mysql.sock
mysqli.reconnect => Off => Off
mysqli.allow_local_infile => On => On

mysqlnd

mysqlnd => enabled
Version => mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
Compression => supported
core SSL => supported
extended SSL => supported
Command buffer size => 4096
Read buffer size => 32768
Read timeout => 31536000
Collecting statistics => Yes
Collecting memory statistics => No
Tracing => n/a
Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_caching_sha2_password,auth_plugin_sha256_password
API Extensions => mysqli,pdo_mysql

mysqlnd statistics =>  
bytes_sent => 0
bytes_received => 0
packets_sent => 0
packets_received => 0
protocol_overhead_in => 0
protocol_overhead_out => 0
bytes_received_ok_packet => 0
bytes_received_eof_packet => 0
bytes_received_rset_header_packet => 0
bytes_received_rset_field_meta_packet => 0
bytes_received_rset_row_packet => 0
bytes_received_prepare_response_packet => 0
bytes_received_change_user_packet => 0
packets_sent_command => 0
packets_received_ok => 0
packets_received_eof => 0
packets_received_rset_header => 0
packets_received_rset_field_meta => 0
packets_received_rset_row => 0
packets_received_prepare_response => 0
packets_received_change_user => 0
result_set_queries => 0
non_result_set_queries => 0
no_index_used => 0
bad_index_used => 0
slow_queries => 0
buffered_sets => 0
unbuffered_sets => 0
ps_buffered_sets => 0
ps_unbuffered_sets => 0
flushed_normal_sets => 0
flushed_ps_sets => 0
ps_prepared_never_executed => 0
ps_prepared_once_executed => 0
rows_fetched_from_server_normal => 0
rows_fetched_from_server_ps => 0
rows_buffered_from_client_normal => 0
rows_buffered_from_client_ps => 0
rows_fetched_from_client_normal_buffered => 0
rows_fetched_from_client_normal_unbuffered => 0
rows_fetched_from_client_ps_buffered => 0
rows_fetched_from_client_ps_unbuffered => 0
rows_fetched_from_client_ps_cursor => 0
rows_affected_normal => 0
rows_affected_ps => 0
rows_skipped_normal => 0
rows_skipped_ps => 0
copy_on_write_saved => 0
copy_on_write_performed => 0
command_buffer_too_small => 0
connect_success => 0
connect_failure => 0
connection_reused => 0
reconnect => 0
pconnect_success => 0
active_connections => 0
active_persistent_connections => 0
explicit_close => 0
implicit_close => 0
disconnect_close => 0
in_middle_of_command_close => 0
explicit_free_result => 0
implicit_free_result => 0
explicit_stmt_close => 0
implicit_stmt_close => 0
mem_emalloc_count => 0
mem_emalloc_amount => 0
mem_ecalloc_count => 0
mem_ecalloc_amount => 0
mem_erealloc_count => 0
mem_erealloc_amount => 0
mem_efree_count => 0
mem_efree_amount => 0
mem_malloc_count => 0
mem_malloc_amount => 0
mem_calloc_count => 0
mem_calloc_amount => 0
mem_realloc_count => 0
mem_realloc_amount => 0
mem_free_count => 0
mem_free_amount => 0
mem_estrndup_count => 0
mem_strndup_count => 0
mem_estrdup_count => 0
mem_strdup_count => 0
mem_edupl_count => 0
mem_dupl_count => 0
proto_text_fetched_null => 0
proto_text_fetched_bit => 0
proto_text_fetched_tinyint => 0
proto_text_fetched_short => 0
proto_text_fetched_int24 => 0
proto_text_fetched_int => 0
proto_text_fetched_bigint => 0
proto_text_fetched_decimal => 0
proto_text_fetched_float => 0
proto_text_fetched_double => 0
proto_text_fetched_date => 0
proto_text_fetched_year => 0
proto_text_fetched_time => 0
proto_text_fetched_datetime => 0
proto_text_fetched_timestamp => 0
proto_text_fetched_string => 0
proto_text_fetched_blob => 0
proto_text_fetched_enum => 0
proto_text_fetched_set => 0
proto_text_fetched_geometry => 0
proto_text_fetched_other => 0
proto_binary_fetched_null => 0
proto_binary_fetched_bit => 0
proto_binary_fetched_tinyint => 0
proto_binary_fetched_short => 0
proto_binary_fetched_int24 => 0
proto_binary_fetched_int => 0
proto_binary_fetched_bigint => 0
proto_binary_fetched_decimal => 0
proto_binary_fetched_float => 0
proto_binary_fetched_double => 0
proto_binary_fetched_date => 0
proto_binary_fetched_year => 0
proto_binary_fetched_time => 0
proto_binary_fetched_datetime => 0
proto_binary_fetched_timestamp => 0
proto_binary_fetched_string => 0
proto_binary_fetched_json => 0
proto_binary_fetched_blob => 0
proto_binary_fetched_enum => 0
proto_binary_fetched_set => 0
proto_binary_fetched_geometry => 0
proto_binary_fetched_other => 0
init_command_executed_count => 0
init_command_failed_count => 0
com_quit => 0
com_init_db => 0
com_query => 0
com_field_list => 0
com_create_db => 0
com_drop_db => 0
com_refresh => 0
com_shutdown => 0
com_statistics => 0
com_process_info => 0
com_connect => 0
com_process_kill => 0
com_debug => 0
com_ping => 0
com_time => 0
com_delayed_insert => 0
com_change_user => 0
com_binlog_dump => 0
com_table_dump => 0
com_connect_out => 0
com_register_slave => 0
com_stmt_prepare => 0
com_stmt_execute => 0
com_stmt_send_long_data => 0
com_stmt_close => 0
com_stmt_reset => 0
com_stmt_set_option => 0
com_stmt_fetch => 0
com_deamon => 0
bytes_received_real_data_normal => 0
bytes_received_real_data_ps => 0

PDO

PDO support => enabled
PDO drivers => mysql, sqlite

pdo_mysql

PDO Driver for MySQL => enabled
Client API version => mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $

Directive => Local Value => Master Value
pdo_mysql.default_socket => /var/lib/mysql/mysql.sock => /var/lib/mysql/mysql.sock
  • @MichaelHampton pastebin.com/JdqEctAL it's too big to paste into question. – jcubic Sep 29 '18 at 13:15
  • Please provide the output of the commands: php --ri mysqli and php --ri mysqlnd and php --ri pdo and php --ri pdo_mysql – Michael Hampton Sep 29 '18 at 13:16
  • Your configuration looks correct. Try restarting PHP. – Michael Hampton Sep 29 '18 at 13:17
  • @MichaelHampton how to restart php? I know only how to restart apache. – jcubic Sep 29 '18 at 13:19
  • Did you configure PHP as an Apache module? If so, then you restart Apache. – Michael Hampton Sep 29 '18 at 13:22
2

Your PHP configuration appears correct.

Strangely, with httpd and a few other services, it seems that sometimes systemctl restart doesn't actually appear to do anything. But systemctl stop followed by systemctl start will properly restart the service.

0

To install PHP, simply type:

$ sudo dnf install php-cli

Above command will install latest stable PHP packages, which includes the command-line interface executing PHP scripts, /usr/bin/php executable, and the CGI interface.

You might want to install some other packages, e.g. PHPUnit for unit tests or Composer to manage dependencies of PHP projects. You can install them with:

$ sudo dnf install phpunit composer

PHP modules

PHP provides only a few set of extensions, other should be installed separately. Packages of PHP modules are prefixed with php-, so if you need e.g. mysqli extension, use:

$ sudo dnf install php-mysqli

PHP Development Server

PHP contains simple web server which can be used instead of full-featured web server. It is intended to be used only for development, not for a production environment.

You can start PHP development server by typing this in your project’s root:

$ sudo php --server localhost:8080 --docroot .

Server will be accessible on http://localhost:8080/.

  • I have php installed since I can run cli and php from apache. – jcubic Sep 29 '18 at 10:08
-1

To install MySQL you need to check first whether you have mysql or mysql Server Installed.

rpm -q mysql Then you'll know about your package yum install mysql mysql-server

Thus after the installation you need to check with command

rpm -q mysql-server

ANd thats it you are all good to go with mysql on Fedora.

  • 1
    Don't answer another question just edit the old one. PS I have mysql (mariaDB) installed since I was able to add user and create DB. – jcubic Sep 29 '18 at 10:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.