我正在尝试在本地安装 wordpress。我已经安装了 mysql (MariaDB) 和 php-mysqli。我已经从 mysql 控制台创建了用户和数据库,并且有这 3 个文件:
$ 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
当我安装 php-mysqli 时自动添加。文件存在于/usr/lib64/php/modules/
但我已经重新启动了httpd服务器
sudo systemctl restart httpd
我仍然有错误:
调用未定义的函数
mysqli_connect()
使用代码时:
$link = mysqli_connect("localhost", "wordpress", "wordpress", "wordpress");
当我运行 phpinfo() 时,我在模块部分得到了这个,但是没有 mysql 的配置,而 pdo 配置只有 sqlite。
函数get_loaded_extensions()
不返回 mysql 扩展名。
并php -i
显示 mysql 和 mysql pdo 的配置。
我也尝试过重新启动系统,但这没有任何效果。
如何在 Fedora 27 上安装 php + mysql?我有 php 7.1.22。
编辑:似乎 mysql 的 ini 文件未被解析,它们不在文件列表中。这些文件具有读取权限,并且像其他文件一样由 root 拥有:
$ 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
编辑2:
$ 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
答案1
您的 PHP 配置看起来正确。
奇怪的是,对于 httpd 和其他一些服务,有时似乎systemctl restart
实际上并没有做任何事情。但systemctl stop
随后systemctl start
会正确重启服务。
答案2
要安装 PHP,只需键入:
$ sudo dnf 安装 php-cli
上面的命令将安装最新的稳定 PHP 软件包,其中包括执行 PHP 脚本的命令行界面、/usr/bin/php 可执行文件和 CGI 界面。
您可能想要安装一些其他包,例如用于单元测试的 PHPUnit 或用于管理 PHP 项目的依赖项的 Composer。您可以使用以下命令安装它们:
$ sudo dnf 安装 phpunit 作曲家
PHP 模块
PHP 仅提供了几组扩展,其他扩展应单独安装。 PHP 模块的包以 php- 为前缀,因此如果您需要 mysqli 扩展,请使用:
$ sudo dnf 安装 php-mysqli
PHP开发服务器
PHP 包含简单的 Web 服务器,可以用来代替全功能的 Web 服务器。它仅用于开发,不适用于生产环境。
您可以通过在项目的根目录中键入以下内容来启动 PHP 开发服务器:
$ sudo php --server localhost:8080 --docroot 。
服务器将可访问http://本地主机:8080/。
答案3
要安装MySQL,您需要首先检查是否安装了mysql或mysql服务器。
rpm -q mysql 然后你就会知道你的包 yum install mysql mysql-server
因此安装后您需要使用命令检查
rpm -q mysql 服务器
就这样,您就可以在 Fedora 上使用 mysql 了。