小编PHP*_*VER的帖子

PHP存储错误日志在哪里?(php5,apache,fastcgi,cpanel)

我在共享主机上有Cpanel,Apache,PHP由fastcgi运行.PHP存储错误日志在哪里?

有没有其他方法可以在共享主机环境中找到错误日志,而不必通过整个站点结构来查找error_log文件?

我可以访问php.ini(我使用的是PHP版本5.2.16).

php error-handling

375
推荐指数
12
解决办法
87万
查看次数

PHP PDO交易?

我有一个注册页面,基本上我需要将数据插入到4个表中.我是PDO的新手,对某些事感到困惑.

基本上,如果任何插入失败,我不希望任何添加到数据库的东西,这似乎很简单.

我的困惑是,我需要先在我的users表中插入用户的用户名,电子邮件,密码等,这样我就可以得到(不确定如何)使用PDO的MySQL给我的用户(由mysql自动递增).我需要用户uid MySQL为其他表提供了我的用户,因为其他表需要uid所以所有内容都正确链接在一起.我的表是InnoDB,我有外键从users_profiles(user_uid),users_status(user_uid),users_roles(user_uid)到users.user_uid,所以它们都链接在一起.

但同时我想确保如果例如在users表中插入数据之后(因此我可以获得MySQL给用户的uid),如果任何其他插入失败,它将删除插入users表中的数据.

我认为我展示我的代码是最好的; 我已经注释掉了代码,并在代码中进行了解释,这可能使它更容易理解.

// Begin our transaction, we need to insert data into 4 tables:
// users, users_status, users_roles, users_profiles
// connect to database
$dbh = sql_con();

// begin transaction
$dbh->beginTransaction();

try {

    // this query inserts data into the `users` table
    $stmt = $dbh->prepare('
                        INSERT INTO `users`
                        (users_status, user_login, user_pass, user_email, user_registered)
                        VALUES
                        (?, ?, ?, ?, NOW())');

    $stmt->bindParam(1, $userstatus,     PDO::PARAM_STR);
    $stmt->bindParam(2, $username,       PDO::PARAM_STR);
    $stmt->bindParam(3, $HashedPassword, PDO::PARAM_STR);
    $stmt->bindParam(4, $email, …
Run Code Online (Sandbox Code Playgroud)

php mysqli pdo transactions multi-query

36
推荐指数
1
解决办法
2万
查看次数

.htaccess,命令允许,拒绝,拒绝所有人:困惑?

在我的.htaccess中,我有以下内容:

<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
<Files .htaccess>
order allow,deny
deny from all
</Files>
Run Code Online (Sandbox Code Playgroud)

现在,我只是愚蠢还是错了?我在网上查看并在Apache文档中看不清楚limit get post put delete但是我认为无论它在做什么都说要允许它再允许它再次拒绝?它对我来说没有意义,我不确定是否应该从.htaccess中删除它,或者如果错误则更正它?我想第三个意味着拒绝访问.htaccess文件,但是这个顺序允许然后deny似乎首先允许然后立即拒绝.

apache .htaccess

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

我应该使用PHPMailer还是SwiftMailer?

可能重复:
PhpMailer与Swiftmailer?

我一直使用PHP的内置mail()功能,它一直对我有用,并且完成了我想要的工作.

现在有些人可能会想"为什么要修复一些没有破坏的东西?".

如果有人要求,我对这些问题的答案是:

  • 我之前从未使用过框架,如果它被归类为它们或者它们被称为我不知道的库.

  • 我想开始使用一个并查看文档,两者看起来都很容易使用.

  • 当我在我的网站中实现新功能时,我的网站更多地依赖于发送电子邮件等,这意味着PHP的mail()功能不再适用于工作.

  • 在处理附件,HTML和文本版本等高级内容时,它们会更容易使用; 否则使用PHP的mail()功能将是困难或不可能的.

  • 我从来没有使用过SMTP,我已经调查过了,我可以看到我可以在我的托管包中使用它和SSL.经过大量阅读后,似乎不仅SMTP更可靠,使用更广泛,电子邮件不太可能被标记为垃圾邮件,使用任一框架都可以提高性能,可靠性和安全性,因为它使用SMTP和SSL.

现在我不确定使用SMTP的其他好处是什么,也许有人可以给我更多理由为什么它更好?我希望找到有关SMTP好处的更多信息.

我看了两个文档看了他们都提供的功能,搜索谷歌PHPMailer与SwiftMailer,但没有找到任何说明为什么一个比另一个好.

有没有人有任何经验?

一个人比另一个人有更多的好处吗?

你会说一个比另一个好吗?

我确实读过很多人说PHPMailer是一个死的项目,但那些帖子相对较旧.看看PHPMailer的网站,似乎该项目已经并且已经开发了一段时间了.

感谢您在PHPMailer和/或SwiftMailer上提供的任何功能.希望我能决定一方或另一方,因为此刻我没有理由为什么我会选择一方而不是另一方.

php smtp phpmailer swiftmailer

12
推荐指数
2
解决办法
1万
查看次数

订购Unix时间戳DESC或ASC?

我有新闻项,在创建时将以unix时间戳格式创建日期/时间的时间添加到数据库中.如果我想按最近的顺序排序,我会在我的mysql查询中使用ASC或DESC吗?

编辑:

谢谢大家的回复.我现在知道了.我会让Sarfraz回答他接受的解决方案,因为他是第一个回复,但感谢其他人:).必须等待11分钟才能接受它作为解决方案.

mysql sql sql-order-by unix-timestamp

10
推荐指数
2
解决办法
2万
查看次数

模式重写; 在URL的末尾有/不带尾部斜杠?

我基本上尝试过下面的mode_rewrite规则.它最后使用斜杠,但是我想让它工作,无论它是否有一个尾部斜杠.基本上我希望它像这样,因为有些人认为它是正常的,最后有一个斜线而其他人不这样做,因此我希望它能够工作,无论它是否存在.

RewriteRule ^signup/register(.[^/]*) /signup/register.php [NC]
Run Code Online (Sandbox Code Playgroud)

基本上它会工作,http://localhost/signup/register/但如果我从最后删除/它会给出404错误.

.htaccess mod-rewrite friendly-url url-rewriting

9
推荐指数
3
解决办法
4万
查看次数

Mysqli语句的`close()`方法是什么?

有人可以告诉我,当你例如更新,插入,删除..你应该关闭它mysqli_stmt::close();吗?我检查了PHP手册,但不明白close()实际做了什么.

例:

$stmt = $dbh->prepare("SELECT `user_email` FROM `users` WHERE `user_email` = ? LIMIT 1");
$stmt->execute(array($email));
$stmt->close();
Run Code Online (Sandbox Code Playgroud)

我的问题的一个部分是,如果作为一个例子,我曾在多次更新查询交易后,每execute()因为我是内执行的每个查询交易,我应该单独关闭它们?...因为这是一个不确定我需要$stmt->close();在每次执行后使用的事务(); 或者只是$stmt->close();在他们之后使用一个?

php mysqli

8
推荐指数
2
解决办法
8593
查看次数

什么是PHP track_errors?

我只是浏览了我的Cpanel的php.ini EZConfig(基本上是php.ini;它只允许我通过Cpanel更改php.ini中的一些设置)并注意到track_errors.

有人可以告诉我这意味着什么,我已经搜索了php网站和谷歌,但无法找出它究竟意味着什么?

php cpanel

7
推荐指数
1
解决办法
9035
查看次数

mb_strlen()就够了吗?

在PHP中计算UTF-8字符串的长度时,我使用mb_strlen().

例如:

if (mb_strlen($name, 'UTF-8') < 3) {
    $error .= 'Name is required. Minimum of 3 characters required in name.';
}
Run Code Online (Sandbox Code Playgroud)

由于文本字段可以接受任何语言(多语言),我想确保PHP将正确计算mutltilanguage UTF-8字符.

这是足够的还是我需要使用其他方法?我担心PHP可能由于某种原因弄错了,或者我可能只是持怀疑态度,但我不希望人们绕过重要的验证,因为PHP错了.

php multilingual utf-8 mbstring

6
推荐指数
1
解决办法
2万
查看次数

使用默认的NULL是好的吗?

我有一些列可能包含用户想要提供的数据.

示例| 电子邮件 | 名字 | 姓氏 |

电子邮件 - 必需,因此列设置为NOT NULL - 默认值:无

名字 - 不需要因此列设置为NULL - 默认值:NULL

姓氏 - 不需要,因此列设置为NULL - 默认值:NULL

在phpmyadmin中创建/编辑列时; 它有一个选项说默认:下拉显示无| 如定义| NULL | 当前时间戳

因为名字| 姓氏是可选的,如果我选择默认的NULL或NONE,则不需要姓氏

哪个最好,为什么请?

我知道有很多关于此的讨论,但我找不到任何回答我的问题; 他们更多关于允许NULL或NOT NULL,我的问题是关于默认值.

mysql database null database-design phpmyadmin

5
推荐指数
2
解决办法
2万
查看次数