Fedora에 php + mysql을 설치하는 방법은 무엇입니까?

Fedora에 php + mysql을 설치하는 방법은 무엇입니까?

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만 있습니다.

PHP mysql 모듈

이 함수는 get_loaded_extensions()mysql 확장을 반환하지 않습니다.

그리고 php -imysql과 mysql pdo의 구성을 표시합니다.

또한 시스템을 다시 시작해 보았지만 아무런 효과가 없었습니다.

Fedora 27에 php + mysql을 설치하는 방법은 무엇입니까? PHP 7.1.22가 있습니다.

편집하다: mysql용 ini 파일이 파싱되지 않아 파일 목록에 없는 것 같습니다. 이러한 파일에는 읽기 권한이 있으며 다른 파일과 마찬가지로 루트가 소유합니다.

$ 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 스크립트 실행을 위한 명령줄 인터페이스, /usr/bin/php 실행 파일 및 CGI 인터페이스를 포함하는 안정적인 최신 PHP 패키지를 설치합니다.

단위 테스트를 위한 PHPUnit이나 PHP 프로젝트의 종속성을 관리하기 위한 Composer와 같은 다른 패키지를 설치할 수도 있습니다. 다음 명령을 사용하여 설치할 수 있습니다.

$ sudo dnf 설치 phpunit 작곡가

PHP 모듈

PHP는 몇 가지 확장 세트만 제공하며, 다른 확장은 별도로 설치해야 합니다. PHP 모듈용 패키지에는 php- 접두사가 붙으므로 mysqli 확장이 필요한 경우 다음을 사용하십시오.

$ sudo dnf 설치 php-mysqli

PHP 개발 서버

PHP에는 모든 기능을 갖춘 웹 서버 대신 사용할 수 있는 간단한 웹 서버가 포함되어 있습니다. 개발 전용이므로 프로덕션 환경에는 적합하지 않습니다.

프로젝트의 루트 디렉터리에 다음을 입력하여 PHP 개발 서버를 시작할 수 있습니다.

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

서버에 액세스할 수 있습니다.http://localhost:8080/.

답변3

MySQL을 설치하려면 먼저 mysql 또는 mysql 서버가 설치되어 있는지 확인해야 합니다.

rpm -q mysql 그러면 패키지를 알 수 있습니다 yum install mysql mysql-server

따라서 설치 후 명령을 사용하여 확인해야 합니다.

rpm -q mysql 서버

이제 Fedora에서 mysql을 사용할 수 있습니다.

관련 정보