我很确定我知道问题是什么我只是不知道如何解决它。
我正在尝试安装 mcrypt“yum install php-mcrypt”,但出现以下错误
Error: Package: php-mcrypt-5.3.3-3.el6.x86_64 (epel)
Run Code Online (Sandbox Code Playgroud)
我可以看到 el6 是错误。我已经安装了 php el7。我怎样才能得到 el7 版本而不是 el6?
我检查了当前的 repolist,我在那里没有看到任何 el6 存储库。当前活跃的回购是
CentOS-7 - Base
Extra Packages for Enterprise Linux 7 - x86_64
CentOS-7 - Extras
MySQL Connectors Community
MySQL Tools Community - Source
MySQL 5.6 Community Server
CentOS-7 - Updates
Run Code Online (Sandbox Code Playgroud)
运行 yum install php-mcrypt 时出现 Yum 错误
--> Finished Dependency Resolution
Error: Package: php-mcrypt-5.3.3-3.el6.x86_64 (epel)
Requires: php(api) = 20090626
Installed: php-common-5.4.16-23.el7_0.3.x86_64 (@base)
php(api) = 20100412-64
Error: Package: php-mcrypt-5.3.3-3.el6.x86_64 (epel)
Requires: …Run Code Online (Sandbox Code Playgroud) 大家好,
我有一个问题,我一个人无法解决,所以我需要你的帮助。
当我询问服务状态(systemctl status httpd)时,我已经安装在centos 7 apache上,所以我收到了这样的错误:
我查看了我的 error_log 文件(var/log/httpd/error_log/ 并在这里找到了这个
是的,我已经完成了这项工作并键入了此错误声明,因此我没有在 [] 中写入日期和信息。我希望解决这个问题不是那么重要。
我已经试过了:
reboot systemctl --failed(确认失败)
我没有任何想法。有人可以让我深思。启动后,我尝试安装 icingaweb2,但现在两者都无法正常工作。
非常感谢。米拉
是否有我可以运行的命令可以公开显示 php 进程的脚本top或ps aux
我使用的是 centos 7 并且httpd从 yum 安装了服务 (2.4.6) 没有问题,我必须从不同的 repo 安装 PHP 才能安装remiphp 5.6。
PHP 在命令行上运行,httpd 服务正在运行,但没有执行所有 php,任何日志中都没有错误,并且存在以下 php.conf。
AddHandler php5-script .php
AddType text/html .php
<IfModule mod_php5.c>
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
</IfModule>
Run Code Online (Sandbox Code Playgroud)
我现在一直在这个时间转圈,似乎无法看到 apache 和 php 之间的脱节在哪里,非常感谢任何帮助。
简而言之:如何在多个 php-fpm 池中包含相同的设置而不为每个池重复它们?
在 php5-fpm 中有全局指令和每个池指令。在所有示例和文档中,每个池都有所有必需的设置,例如
[www]
user = $pool
group = $pool
listen = 127.0.0.1:9001
listen.owner = $pool
listen.group = $pool
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 30s
chdir = /var/www/$pool
[www2]
user = $pool
group = $pool
listen = 127.0.0.1:9002
listen.owner = $pool
listen.group = $pool
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 30s
chdir = /var/www/$pool
Run Code Online (Sandbox Code Playgroud)
如您所见,大多数配置都是相同的,所以我想知道是否有办法将该配置放在所有池都可以隐式或显式包含它们的地方。
将它们放在该[Global]部分的底部是行不通的。
谢谢你的任何建议。
当我尝试运行imap在我的浏览器中使用的脚本时,它运行良好(它是从安装了扩展程序的网络上的 Ubuntu 14.04 服务器加载的)。但是,当我尝试在所述服务器上使用 PHP CLI 时,它不会加载imap.
我写了一个简单的脚本来检查加载的扩展,使用get_loaded_extensions(),它教会了我两件事:
apache2/php.ini( imagick.so) 中手动声明的另一个扩展正在 CLI 和浏览器中加载为什么会发生这种情况,如何在 CLI 和浏览器中加载所有 51 个扩展?
我在网上查看了许多其他问题和参考资料 - 根据我的所有计算,我的设置应该有效,但事实并非如此。
我使用 php-fpm 安装了 nginx。如果我尝试访问 .php 文件,它会正确运行并得到正确的结果。我在我的配置文件中得到了这个:
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
Run Code Online (Sandbox Code Playgroud)
现在,我想设置我的网络应用程序,以便在仍显示在浏览器地址栏中的同时/somedir/file自动执行。所以我修改了我的配置以包含以下内容:/somdir/file.php/somdir/file
location / {
try_files $uri $uri/ $uri.php?query_string
}
Run Code Online (Sandbox Code Playgroud)
这类型的作品,那就是服务器做访问的PHP文件。然而,它没有使用location ~ \.php$上面现有的块来执行它,而是简单地将 php 源代码作为下载到浏览器中。如果我将 .php 手动附加到请求的 URL,则执行 php。
感觉好像一旦服务器匹配try_files到$uri.php,它就不会在位置上再执行一次以查看它需要对 php 文件做什么。我尝试将 php 块放在 的上方和下方location /,但没有任何区别。
我怎样才能让php被执行?
目前在我的 Centos 6.8 服务器上有一个 502 Bad Gateway 错误。
2017/01/30 23:57:31 [crit] 26911#0: *1 connect() to unix:/var/run/php/php7.0-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.0.15, server: 192.168.0.$
Run Code Online (Sandbox Code Playgroud)
我检查了目录是否存在,它不存在。我能找到的最接近该文件夹的是 /var/run/php-fpm,它只包含 php-fpm.pid。
尝试学习如何使用 php 实现 cron 作业。
cron 的格式是这样的 /etc/crontab
* 13 * * * /usr/bin/php /var/www/path/to/file/database-bkup-test.php &>/tmp/mycroncommand.log
Run Code Online (Sandbox Code Playgroud)
所以这应该每天运行 13 小时(下午 1 点)
我查看了服务的状态
须藤 systemctl 状态 crond.service -l
发现以下错误:
(/usr/bin/php) 错误 (getpwnam() 失败)
我使用 PHP 进行了设置,脚本基本上是这样的:
$today = date('Y-m-d');
$user = 'db_user';
$password = 'db_password';
$host = '127.0.0.1'; //this is actually replaced with an address to another remote server
$port='3306';
$database='database_name';
exec('mysqldump --user='.$user.' --password='.$password.' --host='.$host.' --port='.$port.' '.$database.' > /db-bkup/db-'.$today.'.sql');
Run Code Online (Sandbox Code Playgroud)
最终结果将是一个数据库转储到一个文件中:
db-2017-03-24.sql
有人可以帮助我吗?
我花时间阅读并尝试实现这一点。我发现这篇文章非常有帮助
由于作业失败,整个过程甚至没有在/tmp.
更新
添加了一个简单的 cron 来 …
我试图理解@sysfault 在此评论中的“oneliner” :
/bin/sh -c 'echo $$>/tmp/my.pid && exec program args' &
我尝试了以下变化......
不同的 $$ 内外:
/bin/bash -c 'echo $$ && exec sleep 5' ; echo $$
14408
29700
Run Code Online (Sandbox Code Playgroud)
相同的pid(但在后台):
$ /bin/bash -c 'echo $$ && exec sleep 5' & echo $!
[1] 8309
8309
$ 8309
[ 1 ]+ Done /bin/bash -c 'echo $$ && exec sleep 5'
Run Code Online (Sandbox Code Playgroud)
$$ 和 $ 的不同 pid!:
/bin/bash -c 'echo $$ && exec sleep 5 & echo $!'
6504
6503
Run Code Online (Sandbox Code Playgroud)
Kill …