小编hed*_*era的帖子

PHP file_exists()函数在/ usr/bin/mysql上返回false

我已经阅读了很多关于这个问题的帖子,但这些帖子都没有完全符合我的问题.我在GoDaddy虚拟主机上有一个WordPress站点(目前是3.5).在11月份,我选择将操作系统从CentOS 5升级到CentOS 6.3,其中涉及完全的O/S重新安装,而我无法控制,而且我没有任何信息.在重新安装O/S之后,我从刚启动之前的备份重建了站点.

重建之后,我们多年来一直使用的WordPress插件,WP-DBManager,突然停止备份我们的mysql数据库.备份失败,因为备份面板声称"MYSQL路径不存在".令人讨厌的是,当你进入DB Options页面并告诉它自动检测mysql路径时,options页面会生成/ usr/bin/mysql,这是正确的.我可以使用SSH登录该站点.权限是:

-rwxr-xr-x 1 root root 338184 Jun 22 05:58 /usr/bin/mysql
Run Code Online (Sandbox Code Playgroud)

这应该工作.我的网站中的SOMETHING权限随着此次重建而改变,我不知道是什么; 到目前为止,我只记录了WordPress的配置.我所做的研究表明它可能与PHP安全模式有关.我们运行PHP 5.3.3,并且phpinfo()的配置列表没有显示

--enable-safe-mode
Run Code Online (Sandbox Code Playgroud)

这意味着安全模式应为OFF.启动时php.ini中的安全模式设置为:

safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
safe_mode_exec_dir = 
safe_mode_include_dir = 
safe_mode = off
safe_mode_gid = off
Run Code Online (Sandbox Code Playgroud)

我已经将safe_mode_gid更改为ON,没有任何效果.我有一个从生产站点构建的测试站点,其中safe_mode_include_dir =〜所以我尝试了,没有任何效果.测试站点运行PHP 5.3.14,上面的安全模式设置相同,但safe_mode_include_dir除外.我检查了ENV变量,/ usr/bin包含在PATH中:

PATH =在/ usr/local/bin目录:/ bin中:在/ usr/bin中:在/ usr/local/sbin中:/ usr/sbin目录:/ sbin目录:/家庭/ lrservice /箱

我不知道这是否是一个环境变量问题,这里是安全模式条目:

safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)

这些设置在工作测试站点上并不完全相同,一个读取:

safe_mode_allowed_env_vars = PHP_ LANG LANG_
Run Code Online (Sandbox Code Playgroud)

由于该网站除此之外功能齐全,我知道mysql的权限通常是正确的.这对任何人都响铃吗?如果安全模式正式关闭,为什么我会得到所有这些?我有一种感觉,那就是我缺少的明显和愚蠢的东西.

php permissions

10
推荐指数
1
解决办法
1361
查看次数

Perl"else"语句没有执行

我使用ActivePerl脚本接收CSV文件并创建加载到数据库中的XML文件.这些是用户ID数据库条目,名称,地址等.我们一直使用家庭电话号码字段来生成初始密码(我们鼓励用户立即更改!).手机的扩散意味着我有一群人没有家用电话,所以我想在家庭电话领域为空时使用手机领域.

我的输入字段如下所示:

#   0 Firstname
#   1 Lastname
#   2 VP (voicepart)
#   3 Address
#   4 City
#   5 State
#   6 Zip
#   7 Phone
#   8 Mobile
#   9 Email
Run Code Online (Sandbox Code Playgroud)

这是我用来创建密码的Perl代码 - 当字段7中有值时,create_password子例程正在工作:

my $pass_word = '';
my $pass_word = create_password($fields[7]);
if (my $pass_word = '') { 
  print "Use the cell phone number \n";
  my $pass_word = create_password($fields[8]);
}
Run Code Online (Sandbox Code Playgroud)

"打印"声明是告诉我它认为它正在做什么.

这看起来像我应该工作,但"if"的声明永远不会发生.Print语句不打印,只有字段8中的值的任何人都会生成密码.我测试$ pass_word的值的方式一定有问题,但我看不到它.我应该测试$ fields [7]和$ fields [8]的值而不是变量值吗?如果这不起作用,你如何测试Perl变量的空值?

perl if-statement

0
推荐指数
2
解决办法
114
查看次数

标签 统计

if-statement ×1

perl ×1

permissions ×1

php ×1